如何解决如何将数据正确保存到列表中,然后在python中将其转换为DataFrame?
我有一个GeoDataFrame,其中包含有关建筑物的信息(Building_Number,几何形状),我需要从中创建另一个GeoDataFrame-包含有关具有相同列(Building_Number,几何形状)的建筑物中心点(质心)的信息。
我的想法是首先创建一个空列表并将结果附加到列表中:
import geopadnas as gpd
result = []
centroids = gpd.GeoSeries(My_GDF.centroid)
result.append([My_GDF['Buliding_Number'],centroids])
print(result)
但这对我不起作用,输出为:
[[0 61
1 5
2 22
3 NaN
4 7
5 NaN
6 NaN
7 5D
Name: BUI_NUMBER,dtype: object,0 POINT (21.04572 52.14893)
1 POINT (21.02783 52.07371)
2 POINT (20.97048 52.22921)
3 POINT (20.93536 52.25316)
4 POINT (20.93575 52.25281)
5 POINT (20.93293 52.24256)
6 POINT (20.93444 52.24029)
7 POINT (20.93574 52.25361)
dtype: geometry]]
我认为我需要这样的输出:
[[61,5,22,NaN,7,5D],[POINT (21.02783 52.07371,...,POINT (20.93574 52.25361)]]
因为我想将其转换为GeoDataFrame(这,我知道该怎么做)。 有什么方法可以将数据追加到列表中吗?或者,也许我可以将其从现在的输出转换为GDF? 综上所述,我的想法是:
- 制作质心,然后创建一个列表,其中包含有关建筑物编号和质心的信息
- 第二次将其转换为DataFrame:https://datatofish.com/list-to-dataframe/
- 然后转到GeoDataFrame:https://geopandas.org/gallery/create_geopandas_from_pandas.html
解决方法
您可以使用类似的方法来创建新的GeoDataFrame吗? (顺便说一句,您输入的是“ buliding”键)
df = pandas.DataFrame(
{
'BuildingID': My_GDF['Buliding_Number']
#,centroids however those are put
}
)
gdf = geopandas.GeoDataFrame(df,geometry=geopandas.points_from_xy(df.Longitude,df.Latitude))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。