GeoPandas dataFrame使用iterrows()用列数据填充字典

问题描述 投票:0回答:1

我正在使用pandas DataFrame制作带有包含名称的列的嵌套字典。每个字典元素是一个嵌套字典,每个嵌套字典的键是DataFrame列中的名称。

我正在使用此行来填充字典:

for row, name in map_datafile.iterrows():         
    material_count[name._get_value(label='NAME')] = {}

出于某种原因,结果字典仅包含DataFrame中包含的586个名称中的579个。出于这个原因,当我添加一列包含根据此字典计算出的新数据时,会出现以下错误:

ValueError: Length of values does not match length of index

指示要插入到DataFrame中的值的长度与DataFrame不同。

我填写字典有误吗?关于这个问题的任何建议都很好,我是DataFrames的新手。

python-3.x dataframe dictionary geopandas
1个回答
0
投票

.iterrows()返回索引,然后返回行。另外,您可以使用其他语法代替调用._get_value()来访问该值。因此,您可以改为:

for idx, row in map_datafile.iterrows():         
    material_count[row['NAME']] = {}
© www.soinside.com 2019 - 2024. All rights reserved.