Dataframe df包含以下列:
['country_code', 'confirmed_cases', 'count_date']
gdf(geopandas数据框)包含以下列:
['country_code', 'geometry']
以下所有工作:
df.to_json()
gdf.to_json()
gdf.geometry.to_json()
但是当我合并两者时,我无法转换为json。
merged_df = df.merge(gdf, how='left')
merged_df.country_code.to_json() #works
merged_df.count_date.to_json() #works
merged_df.confirmed_cases.to_json() #works
merged_df.to_json() #THROWS MAX RECURSION ERROR
merged_df.geometry.to_json() #THROWS MAX RECURSION ERROR
merged_df.iloc[:1].to_json() #THROWS MAX RECURSION ERROR
为什么相同的“ geometry”列在两个数据框中的行为不同?
答案 0 :(得分:0)
以另一种方式合并文件。由于gdf
是GeoDataFrame,因此to_json
必须处理几何列。熊猫本身不能做到这一点。如果像以前那样将gdf
合并到df
,则结果是pandas.DataFrame。如果以其他方式合并,则结果将是geopandas.GeoDataFrame,它可以处理将几何导出到json。
merged_df = gdf.merge(df, how='right')