熊猫分组依据和基于条件的计算

时间:2020-09-25 15:25:59

标签: python pandas

我有以下数据框

DateTime              ID    Number
2020-09-01 09:30:00   1     2
2020-09-01 09:30:00   2     2
2020-09-01 10:30:00   3     2
2020-09-01 10:30:00   4     2
2020-09-01 10:30:00   5     3
2020-09-01 11:30:00   6     3

我必须使用Datetime列将上述数据框分组,并必须执行计算: 当“数字”列的值为2 / ID总数时,ID的计数。

输出:

DateTime             new_calculated_field
2020-09-01 09:30:00  1
2020-09-01 10:30:00  0.67
2020-09-01 11:30:00  0

1 个答案:

答案 0 :(得分:2)

您的意思是:

df['Number'].eq(2).groupby(df['DateTime']).mean()

输出:

DateTime
2020-09-01 09:30:00    1.000000
2020-09-01 10:30:00    0.666667
2020-09-01 11:30:00    0.000000
Name: Number, dtype: float64