gpt4 book ai didi

python - 计算多个 pandas 列中出现的次数

转载 作者:行者123 更新时间:2023-12-01 09:11:19 25 4
gpt4 key购买 nike

dg  se
29 10
37 22
3 13
15 7
42 20
31 23
26 17
7 1
36 19
5 7
21 5
37 13
37 6
2 24

在上面的数据框中,我想计算每列中 0 - 30、30 - 40 和 > 40 之间的值出现的百分比;以及两列的值在 0 - 30 和 30 - 40 之间的出现百分比。我正在考虑使用 pandas hist 函数,但这并不能达到我想要的效果

最佳答案

使用cut用于对两列进行分箱:

bins = [0, 30, 40, np.inf]
labels = ['0-30','30-40','40+']
dg = pd.cut(df['dg'], bins=bins, labels = labels, include_lowest=True)
se = pd.cut(df['se'], bins=bins, labels = labels, include_lowest=True)

然后value_counts :

dg_per = dg.value_counts(normalize=True)
print (dg_per)
0-30 0.571429
30-40 0.357143
40+ 0.071429
Name: dg, dtype: float64

se_per = se.value_counts(normalize=True)
print (se_per)
0-30 1.0
40+ 0.0
30-40 0.0
Name: se, dtype: float64

对于两列中相同的值,首先过滤:

both = (dg[dg == se])
print (both.value_counts(normalize=True))
0-30 1.0
40+ 0.0
30-40 0.0
Name: dg, dtype: float64

关于python - 计算多个 pandas 列中出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51631788/

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