簡體   English   中英

Python 統計數據幀列中某個值出現的次數

[英]Python count number of occurrence of a value in a dataframe column

我有一個這樣的數據框:

在此處輸入圖片說明

這是我想要的最終數據框:

在此處輸入圖片說明

我知道我可以使用 groupby 來計數,但它只給我總數。 我如何分解為“真”和“假”的計數。 並且這樣安排?

import pandas as pd

data = [['a', 'TRUE'], ['a', 'FALSE'], ['a', 'TRUE'], ['b', 'TRUE'], ['b', 'TRUE'], ['b', 'TRUE'],
    ['b', 'FALSE'], ['c', 'TRUE'], ['c', 'TRUE']]
df = pd.DataFrame(data, columns=['ID', 'PASS'])


df['value'] = 1
result = df.pivot_table(values='value', index='ID', columns='PASS', aggfunc='sum', fill_value=0)
result['Total'] = result.agg(sum, axis=1)
result
PASS    FALSE   TRUE    Total
ID          
a   1   2   3
b   1   3   4
c   0   2   2

另一種方法是通過 groupby 和unstack ,這樣:

df = df.groupby(["ID","PASS"])['PASS'].count().unstack(fill_value=0)
df['total'] = df['FALSE']+df['TRUE']

想要的結果:

PASS    FALSE   TRUE    Total
ID          
a         1       2      3
b         1       3      4
c         0       2      2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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