前提・実現したいこと
GeoDataFrameのappendメソッドで、データの追加は出来るのですが
実行するたびに新たなGeoDataFrameを作るってのは
処理的にどうなのかな。と思った次第です。
inplace=Trueみたいなオプションはないですし…
該当のソースコード
例えばexplodeのインデックスの列が二つなのが
嫌なので一つにする処理が以下なのですが
outdf = outdf.append(row,ignore_index=True)
を何度も実行しているのが、処理速度的に問題ないのかな
と思った次第です。
また、他にインデックスの列を一つにする方法も他にあれば
ついでに知りたいです。※こちらは質問の本題ではありません…
python
1from shapely.geometry import MultiPoint 2import geopandas as gpd 3 4d = { 5 "col1": ["name1", "name2"], 6 "geometry": [ 7 MultiPoint([(1, 2), (3, 4)]), 8 MultiPoint([(2, 1), (0, 0)]), 9 ], 10} 11gdf = gpd.GeoDataFrame(d) 12exploded = gdf.explode() 13 14outdf = gpd.GeoDataFrame(columns=gdf.columns) 15for idx, row in exploded.iterrows(): 16 outdf = outdf.append(row,ignore_index=True) 17print(outdf) 18
補足情報(FW/ツールのバージョンなど)
Python 3.9.2
GDAL 3.2.1
geopandas 0.8.2
これに書いてあるように、
pandas.DataFrameに1行ずつ書き足す早い方法を調べた
「1列ずつリストで作ってDataFrameに変換する」がいいのかな…
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。