我有一个包含多个列的数据框,并使用添加了一个新列来表示年龄间隔。
# Create Age Intervals
bins = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]
df['age_intervals'] = pd.cut(df['age'],bins)
现在,我有另一列名为 no_show
的列,它使用值 0 或 1 来说明某人是否出现在约会中。通过使用以下代码,我可以对基于age_intervals
的数据。
df[['no_show','age_intervals']].groupby('age_intervals').count()
Output:
age_intervals no_show
(0, 5] 8192
(5, 10] 7017
(10, 15] 5719
(15, 20] 7379
(20, 25] 6750
但是如何根据值 0 和 1 对 no_show
数据进行分组。例如,在年龄区间 (0,5] 中,8192、3291 中为 0,4901 为 1对于 no_show
等等。
最佳答案
一种简单的方法是对两列进行分组并使用 size()
返回一个系列:
df.groupby(['age_intervals', 'no_show']).size()
这将返回一个系列,其划分值取决于 age_intervals
列和 no_show
列。
关于python - 如何对 pandas groupby 列中的特定值进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52268909/