我有一个DataFrame,您可以通过运行以下命令获得它:
import pandas as pd
from io import StringIO
df = """
case_id scheduled_date status_code
1213 2021-08 success
3444 2021-06 fail
4566 2021-07 unknown
12213 2021-08 unknown
34344 2021-06 fail
44566 2021-07 unknown
1213 2021-08 fail
"""
df= pd.read_csv(StringIO(df.strip()), sep='\s\s+', engine='python')
这将输出:
case_id scheduled_date status_code
0 1213 2021-08 success
1 3444 2021-06 fail
2 4566 2021-07 unknown
3 12213 2021-08 unknown
4 34344 2021-06 fail
5 44566 2021-07 unknown
6 1213 2021-08 fail
我如何计算每个月的成功、失败和未知数?
输出应如下所示:
scheduled_date num of success num of fail num of unknown
2021-08 1 1 1
2021-06 0 2 0
2021-07 0 0 2
2条答案
按热度按时间jm2pwxwz1#
下面是
pandas.crosstab
的一个命题:输出:
lhcgjxsq2#
可以使用
.pivot_table()
为每个(月份、状态代码)对创建计数,然后使用.fillna
将NaNs替换为零计数:这将输出: