首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas - Counting值

Pandas - Counting值
EN

Stack Overflow用户
提问于 2019-12-15 21:36:09
回答 2查看 76关注 0票数 0

我有一个数据框架,里面有多年来参加比赛的运动员的信息。我需要确定参加过冬季和夏季奥运会的运动员的比例。

数据帧是这样的:

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

每个ID编号代表一个运动员,在Season列中,您可以选择WinterSummer。我想我需要找到一种方法来计算具有WinterSummerID,并将其除以运动员总数。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-16 01:40:21

试试这个:

代码语言:javascript
复制
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))
票数 0
EN

Stack Overflow用户

发布于 2019-12-15 23:34:15

下面是一个示例:

代码语言:javascript
复制
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和Id参加过冬季和夏季奥运会。

代码语言:javascript
复制
Season  Summer  Winter
ID                    
A          1.0     1.0
C          1.0     1.0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59344408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档