簡體   English   中英

Pandas - 計算值

[英]Pandas - Counting values

我有一個數據框,其中包含有關多年來參加的運動員的信息。 我需要確定參加過冬季和夏季運動會的運動員的比例。

數據框是這樣的:

ID, Name, Sex, Age, Height, Weight, Games, Year, Season, City

每個ID編號代表一名運動員,在“ Season ”列中,您可以選擇“ Winter或“ Summer 我想我需要找到一種方法來計算有WinterSummerID並除以運動員總數。

有任何想法嗎?

這里有一個例子:

import pandas as pd
from io import StringIO

data = """
ID,Season
A,Winter
A,Summer
B,Summer
C,Winter
C,Summer
D,Summer
E,Winter
"""

df = pd.read_csv(StringIO(data),sep=',')
df=df.groupby('ID')['Season'].value_counts().unstack().fillna(0)
print(df.loc[(df['Summer'] >0) & (df['Winter'] >0)])

結果:只有 Id A 和 C 參加了冬季和夏季運動會。

Season  Summer  Winter
ID                    
A          1.0     1.0
C          1.0     1.0

嘗試這個:

df_both = df.groupby(['ID','Season'])['ID'].count().unstack().fillna(0)
print (len(df_both.loc[(df_both['Summer'] > 0) & (df_both['Winter'] > 0)]) / len(df))

暫無
暫無

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

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