2017-09-05 20 views
1

pandas/geopandasのGeoDataFrameから1つのポイントを抽出するのに問題があります。ジオデータフレームのインデックス作成時にジオストラクチャを維持する

実際、単一のインデックス(ilocまたはixを使用)を使用すると、この関数はpd.Seriesファイルを返します。したがって、すべての属性とメソッドが失われます。

>>> type(OMS) 
<class 'geopandas.geodataframe.GeoDataFrame'> 
>>> type(OMS.iloc[2:3]) 
<class 'geopandas.geodataframe.GeoDataFrame'> 
>>> type(OMS.iloc[2]) 
<class 'pandas.core.series.Series'> 

効率的なデータ構造/タイプを変更せずに、1つのジオメトリを抽出する方法はあります: これは私が話して何ですか?

特に、その抽出されたポイントに(GeoDataFrameクラスとGeoSeriesクラスの両方に存在する)バッファメソッドを適用する必要があります。

ありがとうございます!

+1

'OMS.iloc [2:3]'や 'OMS.iloc [[2]]' –

答えて

0

使用ダブルブラケット:

OMS.iloc[[2]] 
+0

作品!ありがとう! インデックスを強制的にリストにする理由はわかりませんが、iloc/ixはGeoDataFrameを返します(複数のエントリと単一のエントリ)。 –

+0

データフレームから単一の列を選択すると、Pandasは自動的に戻り値をSeriesに変換します。したがって、リスト内の単一の列が周囲にあり、PandasはDataFrameを保持します。または、2:3を使用して列をスライスすることもできます。または、OMS.iloc [2] .to_frame()を実行できます。 –

関連する問題