【问题标题】:Merging pandas dataframes to produce a dataframe with lists [duplicate]合并熊猫数据框以生成带有列表的数据框[重复]
【发布时间】:2021-09-04 13:54:05
【问题描述】:

我有两个具有相同列名和相同索引的数据框。每个条目 在数据帧中是 int 或 float。我想将数据框组合成 单个数据框。我希望这个数据框的每个条目都是一个列表,其中包含来自单独数据框的各个元素。

例如,df1 和 df2 是原始数据帧:

         A  B
df1 = 0  0  1

         A  B
df2 = 0  2  3

我想生成以下数据框:

            A       B
df3 = 0  [0, 2]  [1, 3]

我尝试了以下方法:

merger = lambda s1, s2: s1.append(s2)
df1.combine(df2, merger)

这给了我错误:

ValueError: cannot reindex from a duplicate axis

我可以想出几种使用循环的方法,但如果可能的话,我想避免这种情况。看来这是应该内置在 pandas 中的东西。

干杯

【问题讨论】:

    标签: python pandas dataframe merge


    【解决方案1】:

    试试

    out = pd.concat([df1,df2]).groupby(level=0).agg(list)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      • 2018-11-04
      • 1970-01-01
      • 2017-03-31
      • 2020-05-30
      • 2019-07-01
      相关资源
      最近更新 更多