熊猫连接失败

新手上路,请多包涵

我正在尝试根据 foll 连接数据帧。 2个csv文件:

df_a: https://www.dropbox.com/s/slcu7o7yyottujl/df_current.csv?dl=0

df_b: https://www.dropbox.com/s/laveuldraurdpu1/df_climatology.csv?dl=0

这两个具有相同的列数和名称。但是,当我这样做时:

 pandas.concat([df_a, df_b])

我收到错误:

 AssertionError: Number of manager items must equal union of block items
# manager items: 20, # tot_items: 21

如何解决这个问题?

原文由 user308827 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 791
1 个回答

我认为如果满足以下两个条件,就会出现此错误:

  1. 数据框有不同的列。 (即 (df1.columns == df2.columns)False
  2. 列具有重复值。

基本上,如果你 concat 带有列的数据帧 [A,B,C][B,C,D] 它可以为每个不同的列名称制作一个系列。因此,如果我尝试加入第三个数据 [B,B,C] 它不知道要追加哪一列,最终得到的不同列比它认为需要的要少。

如果您的数据帧是 df1.columns == df2.columns 那么它无论如何都会起作用。所以你可以加入 [B,B,C][B,B,C] ,但不能加入 [C,B,B] ,就好像这些列的索引是相同的或者可能只是使用整数一样

原文由 phil_20686 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏