假设我输入以下内容:
Date Type Cond
01-05-2001 A NULL
01-05-2001 B NULL
01-05-2001 C x
01-05-2001 A y
.
.
.
01-08-2001 B NULL
01-08-2001 B NULL
01-08-2001 C NULL
01-08-2001 A NULL
我想要一个看起来像这样的数据框:
Date Cond Count
0 TRUE 2
.
.
.
92 FALSE 1
基本上,我想按确切的日期和类型(这里是A)分组,但用一个日期和一个数字和类型(但类型为数量)替换日期。比起Cond我想将条目标记为TRUE 列中至少有一个不为NULL的值。
谢谢!
答案 0 :(得分:2)
使用factorize
枚举日期,eq
检查A
:
(df.Type.eq('A')
.groupby(df.Date.factorize()[0])
.value_counts()
.unstack(fill_value=0).stack()
.rename_axis(['Date','Cond'])
.reset_index(name='Count')
)