python - 将数据框粘贴到 python 字典中的数据框上
问题描述
我想创建一个字典,其中键是城市名称,值是熊猫数据框列表,这些数据框由该城市中实例的 ID 组成。目前我有以下代码:
city_idframes_dictionary = dict()
if city in city_idframes_dictionary:
city_idframes_dictionary[city].append(pd.DataFrame(df))
else:
city_idframes_dictionary[city] = pd.DataFrame(df)
然后稍后当我尝试使用以下方法访问数据框列表时:
for city in cities_new:
frame_list = city_frames_dictionary.get(city)
city_frames = pd.concat(frame_list, ignore_index=True)
但是此时我收到以下错误:
TypeError: first argument must be an iterable of pandas objects, you passed an object of type "DataFrame"
对我的步骤的调查表明,由于某种原因,每个键只添加了一个数据框作为值。这很奇怪,因为我认为 append 会列出我以后可以使用 pd.concat() 连接的数据帧列表
那么为什么即使我确实创建了几个框架,也只添加了一个框架作为城市钥匙的价值?
注意:自从我检查后,append 并没有连接数据帧,并且长度对应于一个数据帧的长度。
友好的问候,并提前感谢任何答案:)
解决方案
在
city_idframes_dictionary[city] = pd.DataFrame(df)
您没有将列表定义为值(正如您所说的那样),而是一个数据框。采用:
city_idframes_dictionary[city] = [pd.DataFrame(df)]
反而。
推荐阅读
- laravel - Auth::user() 在 API 控制器中返回 Null
- javascript - 修复 WordPress api 上传测试失败的错误
- tailwind-css - class="hidden sm:flex" 在 TailwindCSS 中不起作用
- sparql - 有没有办法向 RDF 三元组添加额外的信息?
- php - 在购物车和结帐页面上显示特定类别的最小重量和剩余重量消息 - WooCommerce
- node.js - 为什么即使在节点服务器和 mongodb 加载后 localhost 也没有加载?
- javascript - 如何使我的滑块具有响应高度
- angular - 从 ngx-image-cropper 返回文件以上传 - Angular
- swift - 从函数返回闭包——(期望 2 个参数,但 1 在闭包体中使用)
- python - Python:在两个类之间引用“自我”