我正在尝试计算 Pandas 数据框中一个值与另一个值一起出现的次数,并计算每行的次数。
这就是我的意思:
a t
0 a 2
1 b 4
2 c 2
3 g 2
4 b 3
5 a 2
6 b 3
假设我想计算 a
与数字 2
一起出现的次数,我希望结果为:
a t freq
0 a 2 2
1 b 4 1
2 c 2 1
3 g 2 1
4 b 3 2
5 a 2 2
6 b 3 2
此处的freq
(频率)列表示a
列中的值与t
列中的值一起出现的次数。
请注意,解决方案例如:考虑到我的数据帧的大小,仅计算 a
发生的次数将导致错误的频率。
有没有办法在Python中实现这一点?
最佳答案
df['freq'] = df.groupby(['a', 't'])['a'].transform('size')
#alternative solution
#df['freq'] = df.groupby(['a', 't'])['a'].transform('count')
print (df)
a t freq
0 a 2 2
1 b 4 1
2 c 2 1
3 g 2 1
4 b 3 2
5 a 2 2
6 b 3 2
关于python - 计算值 A 与值 B 同时出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47834225/