【问题标题】:Merging Pandas DataFrames with the same column name合并具有相同列名的 Pandas DataFrame
【发布时间】:2014-01-18 16:02:35
【问题描述】:

我有一个数据集,可以说:

Column with duplicates        value1       value2
        1                        5            0
        1                        0            9

我想要什么

Column with duplicates        value1       value2
        1                        5            9

我不知道如何让它工作。我得到的最接近的是使用合并,但这给我留下了不同的后缀。

有什么想法吗?

我的真实数据如下:

trial      Time       1    2      3      4
1         '0-100'     0    100    0      0
1         '0-100'     32    0     0      0
1         '100-200'   0     0    100     0
.
.
.
2         '0-100'     0    100    0      0

我想把试验分开,只是合并时代

【问题讨论】:

  • 如果有第三行1 2 3,您希望发生什么?或者这永远不会发生?
  • 那不会发生。在我的实际数据中,有四个数字,所以 1 5 0 0 0 1 0 9 0 0 所以唯一会发生的事情是另外两列用零填充。

标签: python pandas


【解决方案1】:

IIUC,你可以使用groupby然后聚合:

>>> df
   Column with duplicates  value1  value2
0                       1       5       0
1                       1       0       9

[2 rows x 3 columns]
>>> df.groupby("Column with duplicates", as_index=False).sum()
   Column with duplicates  value1  value2
0                       1       5       9

[1 rows x 3 columns]

关于 OP 的更新示例:

>>> df
   trial       Time   1    2    3  4
0      1    '0-100'   0  100    0  0
1      1    '0-100'  32    0    0  0
2      1  '100-200'   0    0  100  0
3      2    '0-100'   0  100    0  0

[4 rows x 6 columns]
>>> df.groupby("trial", as_index=False).sum()
   trial   1    2    3  4
0      1  32  100  100  0
1      2   0  100    0  0

[2 rows x 5 columns]

【讨论】:

  • 这也总结了我的试验。
  • @NightHallow:不,它没有,因为你给出的例子没有任何试验。无论如何它都不应该相加(参见我更新的示例)。
  • 我还希望将“时间”分开。我通过 df.groupby("trial","Time").sum() 得到它
  • @NightHallow:一些一般性建议——我们很乐意提供帮助,但您应该从一开始就给出一个最小的但完整的示例。只有在您提到您想要一个在原始示例中甚至不存在的轴用作键的帖子、编辑和三个 cmets 之后。 [我认为它需要是df.groupby(["trial", "time"]).sum(),顺便说一句。]
  • 我知道,对不起。这是因为我正在使用一个较小的示例进行测试,结果证明是一个糟糕的示例。我现在遇到的问题是,由于我的时间是字符串 '0-100',所以它不能正确排序。
猜你喜欢
  • 2014-09-28
  • 2020-01-02
  • 2021-02-24
  • 2021-11-02
  • 1970-01-01
  • 2017-09-02
  • 2020-06-13
  • 2020-11-17
  • 2020-10-25
相关资源
最近更新 更多