gpt4 book ai didi

python - Pandas DataFrame,将重复的列加在一起

转载 作者:行者123 更新时间:2023-11-28 20:43:48 25 4
gpt4 key购买 nike

我有一个非常大的 DataFrame,它有重复的列,但它下面的值却没有。我想将重复的列合并在一起并添加值。

这个非常大的 DataFrame 是通过将 Series 附加在一起而形成的,这就是重复发生的地方。

       Py Java Ruby C  Ruby
2010 1 5 8 1 5
2011 5 5 1 9 8
2012 1 5 8 2 8
2013 6 3 8 1 9
2014 4 8 9 9 9

所以我想将两个 Ruby 列加在一起以获得这个结果:

       Py Java Ruby C  Ruby
2010 1 5 13 1 5
2011 5 5 9 9 8
2012 1 5 16 2 8
2013 6 3 17 1 9
2014 4 8 18 9 9

我正在运行 python 2.7

最佳答案

我建议使用 groupby:

df = df.groupby(axis=1, level=0).sum()

为了让它也适用于 MultiIndex,可以这样做:

if df.columns.duplicated().any():
all_levels = df.columns.nlevels
if all_levels > 1:
all_levels = range(all_levels)
df = df.groupby(axis=1, level=all_levels).sum()

编辑

除了使用 groupby,现在可以简单地做:

df = df.sum(axis=1, level=0)

请注意 nans,通过上述过程会将其转换为 0。为避免这种情况,可以使用 skipna=Falsemin_count=1(取决于用例):

df = df.sum(axis=1, level=0, skipna=False)

关于python - Pandas DataFrame,将重复的列加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28246014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com