gpt4 book ai didi

python - groupby 计算 pandas 中两列中相同的值?

转载 作者:行者123 更新时间:2023-12-02 08:39:28 24 4
gpt4 key购买 nike

我有以下 Pandas 数据框:

name1   name2
A B
A A
A C
A A
B B
B A

我想添加一个名为 new 的列,该列计数 name1 OR name2 保持合并的列(两个 name1 中的值不同) name2)。因此,预期输出是以下数据帧:

name   new
A 7
B 4
C 1

我已经尝试过

df.groupby(["name1"]).count().groupby(["name2"]).count(),还有很多其他的事情......但是尽管最后一个似乎给了我正确的结果,我无法获得连接的数据集。

最佳答案

您可以使用 value_counts df.stack() :

df[['name1','name2']].stack().value_counts()
#df.stack().value_counts() for all cols
<小时/>
A    7
B 4
C 1

具体:

(df[['name1','name2']].stack().value_counts().
to_frame('new').rename_axis('name').reset_index())

name new
0 A 7
1 B 4
2 C 1

关于python - groupby 计算 pandas 中两列中相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59546513/

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