簡體   English   中英

按數據框分組並拆分為列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM