![](/img/trans.png)
[英]How to split single column of pandas dataframe into multiple columns with group?
[英]Group by dataframe and split to columns
下面是数据框的输出,我可以发布
df2 = df.groupby(['id1','id2']).size().reset_index()
df2.columns = ['id1','id2','Count']
print (df2)
id1 id2 Count 7780379 00000000-0000-0000-0000-000000000000 1 7780379 72b9f501-6d48-4a37-8f3a-ff4e5fb6ec8d 19
我试图添加条件是属于 00000000-0000-0000-0000-000000000000 的任何 id2 是无效计数,以下是预期结果
id1 ValidCount InvalidCount
7780379 19 1
如果有任何指点,请分享。
您可以直接从df
获取最终输出,而无需df2
:
valids = np.where(df['id2']=='00000000-0000-0000-0000-000000000000',
'InvalidCount', 'ValidCount')
df.groupby(['id1', valids]).size().unstack('id2').reset_index()
使用groupby_sum
:
out = df.groupby(['id1', df['id2']!='00000000-0000-0000-0000-000000000000'])['Count'] \
.sum().unstack().rename(columns={True: 'ValidCount', False: 'InvalidCount'})
输出:
>>> out
id2 InvalidCount ValidCount
id1
7780379 1 19
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.