Lum*_*mos 3 python unique count dataframe pandas
我有一个包含2个变量的数据框:ID和outcome.我想groupby ID第一,和计数的唯一值的数量outcome之内ID.
df
ID outcome
1 yes
1 yes
1 yes
2 no
2 yes
2 no
Run Code Online (Sandbox Code Playgroud)
预期产量:
ID yes no
1 3 0
2 1 2
Run Code Online (Sandbox Code Playgroud)
我的代码df[['PID', 'outcome']].groupby('PID')['outcome'].nunique()给出了唯一值本身的编号,例如:
ID
1 2
2 2
Run Code Online (Sandbox Code Playgroud)
但是我需要的是yes和no,我怎么能实现呢?谢谢!
怎么样pd.crosstab?
In [1217]: pd.crosstab(df.ID, df.outcome)
Out[1217]:
outcome no yes
ID
1 0 3
2 2 1
Run Code Online (Sandbox Code Playgroud)