python - 迭代完成前的熊猫字典形成退出代码
问题描述
我正在尝试创建一个包含 18330 行的数据框字典。但字典停在第 15275 行。我无法理解相同的根本原因。
'''
final_dict = dict()
item = df1['Item Code']
id = df1['store ID']
sp = df1['Selling Price']
mrp = df1['MRP']
for a in range(0, item.__len__()):
key = str(item[a]) + "|" + str(id[a])
value = str(sp[a]) + "|" + str(mrp[a])
final_dict[key] = value
key_list = final_dict.keys()
print(item.__len__())
print(len(final_dict))
print(len(key_list))
print(len(df1.index))
df1['key'] = key_list
print(df1)
'''
Output:
18330
15275
15275
18330
error : "ValueError: Length of values does not match length of index"
数据框示例:
谁能帮我理解我的错误。
解决方案
ItemCode 和 StoreID 组合可能会在您的数据中重复出现。而且由于键已经存在于字典中,因此只有值正在更新。检查您的文件是否有重复。
推荐阅读
- javascript - 将 iOS 模块从 pod 导入到 nativescript 插件
- javascript - 从方法链的末尾获取不同的输出
- python-3.x - 在 AWS S3 存储桶中获取文件的标签
- android - Firebase 推送通知打开计数不起作用
- ruby-on-rails - Rails - 错误后我可以在视图中显示不同的部分吗?
- scala - 如何从 sql(不是 DSL)访问 Spark 嵌套结构字段
- r - 计算和显示 ggplot2::geom_density() 对象的峰值的最佳方法是什么?
- c++11 - FFMPEG中lineSize,width,height之间的关系
- javascript - 组件之间的关系
- ruby - Rspec:合并的单元测试!Ruby 哈希中的方法