python - 如何在 pandas 中使用 count、groupby 和 max?

标签 python pandas dataframe group-by

我想在以下条件下使用pandas中的sql操作count、groupby、max

我的数据框 df

call_count    Date       Call Received Appointments
1           5/21/2021     Y                N
2           5/21/2021     Y                N
3           5/21/2021     Y                N
1           5/22/2021     Y                Y
2           5/22/2021     Y                N
1           5/23/2021     N                N

我想按Date下的这些数据进行分组,并计算call_count的最大值,并计算YN > 已接电话预约

预期输出为:

Total_call_count Date       Total Received Call Total Appointments
3                5/21/2021     3                  0
2                5/22/2021     2                  1
1                5/23/2021     0                  0

最佳答案

您可以将值 Y 替换为 True,将 N 替换为 False,然后使用 pandas.groupby以及'Call, Received Appointments'

列的总和值
cols = ['Call', 'Received Appointments']
dct = {'Y':True, 'N':False}
df[cols] = df[cols].replace(dct)
df = df.groupby('Date')[['Call', 
                         'Received Appointments']
                       ].sum().rename(columns=lambda x: 'Total '+x)
print(df)

           Total Call  Total Received Appointments
Date                                              
5/21/2021           3                            0
5/22/2021           2                            1
5/23/2021           0                            0

关于python - 如何在 pandas 中使用 count、groupby 和 max?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73134815/

相关文章:

python - 加载word2vec时出现UnicodeDecodeError错误

Python Pickle 在读取时产生 EOF 错误并且读取不正确

python - Pandas DataFrame 列与自定义函数的成对相关

python - 在数据帧行之间进行比较以进行删除

python - 将 pandas 中的多列除以另一列

Python:BeautifulSoup从div部分提取所有span类

python - 如何将 'pivot' 数据帧的值放入列中

python - Pandas 通过使用根据条件选择的两列中的任意一列来创建列

python - 如何一一复制Python数据框?

R:将数据框中的值替换为占位符的 NA