簡體   English   中英

計數值符合 dataframe 中的條件的次數

[英]Counting number of times a value adheres to condition in dataframe

我有一個dataframe,我想根據它屬於某個類別和某個時期的條件計算一個id出現的次數。 我在這里有一個簡單的 dataframe 版本:

在此處輸入圖像描述

我想編寫一個腳本,該腳本能夠計算在“期間 1”期間以“1”類別出現的次數,例如 ID“1”

所以 output 將類似於:

計數 = 2

因為 ID 1 在類別 1 和期間 1 中出現了兩次。

請注意,我不想在腳本中明確命名 ID,因為我想計算其他 ID 的出現次數,而不僅僅是 ID '1'。

您在談論所有條件都為真的地方,所以 dataframe 的len就是答案:

len(df[(df['ID'] == 1) & (df['category'] == 1) & (df['period'] == 'period 1')])

或者

(df['ID'].eq(1) & df['category'].eq(1) & df['period'].eq('period 1')).sum()

您可以使用 pandas pivot function 和總計 ZC1C425268E68385D1AB5074C17ZA4

pd.pivot_table(df, index=['Category','period'], values='ID', aggfunc='count').reset_index()

使用query檢查條件,然后應用len func 來查找行數或計數。

len(df.query("id==1 & Category==1 & period=='period 1'"))
2

更新:對於您以后更新的問題答案將是

df.query("Category==1 & period=='peroid 1'")['id'].value_counts()

暫無
暫無

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

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