gpt4 book ai didi

python - 仅在相似列上跨两个数据框的 Pandas 均值

转载 作者:太空宇宙 更新时间:2023-11-04 00:16:49 30 4
gpt4 key购买 nike

我有一个独特的要求,我需要两个数据帧的公共(public)列(每行)的平均值。

我想不出这样做的 pythonic 方式。我知道我可以遍历两个数据框并找到公共(public)列,然后获取键匹配的行的平均值。

假设我有以下数据框:DF1:

Key A   B   C   D   E
K1 2 3 4 5 8
K2 2 3 4 5 8
K3 2 3 4 5 8
K4 2 3 4 5 8

DF2:

Key A   B   C   D
K1 4 7 4 7
K2 4 7 4 7
K3 4 7 4 7
K4 4 7 4 7

结果 DF 应该是两个 DF 的平均值,每列每行 Key 匹配。结果DF:

 Key    A   B   C   D
K1 3 5 4 6
K2 3 5 4 6
K3 3 5 4 6
K4 3 5 4 6

我知道我应该把示例代码放在这里,但到目前为止我想不出任何逻辑来实现这个。

最佳答案

使用 DataFrame.add 使用 Key 作为索引:

df1.set_index('Key').add(df2.set_index('Key')).dropna(axis=1) / 2

A B C D
Key
K1 3 5 4 6
K2 3 5 4 6
K3 3 5 4 6
K4 3 5 4 6

替代方法是 concat + groupby

pd.concat([df1, df2], axis=0).dropna(axis=1).groupby('Key').mean()

A B C D
Key
K1 3 5 4 6
K2 3 5 4 6
K3 3 5 4 6
K4 3 5 4 6

关于python - 仅在相似列上跨两个数据框的 Pandas 均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50636010/

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