我正在使用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的新手。
.iterrows()
返回索引,然后返回行。另外,您可以使用其他语法代替调用._get_value()
来访问该值。因此,您可以改为:
for idx, row in map_datafile.iterrows():
material_count[row['NAME']] = {}