python - 如何对 pandas groupby 列中的特定值进行分组?

标签 python pandas pandas-groupby

我有一个包含多个列的数据框,并使用添加了一个新列来表示年龄间隔。

# 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/

相关文章:

python - Sublime Os X 输出窗口自动换行

python - 标准差为零的归一化

python - 使用 python pandas 数据框的 Groupby 而不扩展列名

python - 从 pandas 数据帧创建字典,其中值是索引

python - 你能在 Pandas 中拆分日期时间月份吗?

python - 使用 pandas GroupBy 聚合来自多列的唯一值

python - Pandas:将数据帧填充到最大行长度

python pubsub 订阅多个主题

python - 通过lxml python更改xml中的属性值

python - 如何对 4 列进行分组并根据另一列进行排名?