Python 如何在groupby Pandas&;

Python 如何在groupby Pandas&;,python,pandas,Python,Pandas,在jupyter笔记本中执行以下任务: 在最拥挤的班级里有多少妇女 表中有以下列: 乘客幸免于难p班名性别年龄SibSp车票车费舱上船 任务中的“类”是表中的“类” 我无法理解如何解决这个问题 已统计每个班级的人数: data_by_class = data.groupby(['Pclass']) data_by_class['Pclass'].value_counts() 输出: Pclass Pclass 1 1 216 2 2 1

在jupyter笔记本中执行以下任务:

在最拥挤的班级里有多少妇女

表中有以下列:

乘客幸免于难p班名性别年龄SibSp车票车费舱上船

任务中的“类”是表中的“类”

我无法理解如何解决这个问题

已统计每个班级的人数:

data_by_class = data.groupby(['Pclass'])
data_by_class['Pclass'].value_counts()
输出:

Pclass  Pclass
1       1         216
2       2         184
3       3         491
Name: Pclass, dtype: int64
我可以得到最大值:

data\u by\u class['Pclass'].value\u counts().max()

输出:

Pclass  Pclass
1       1         216
2       2         184
3       3         491
Name: Pclass, dtype: int64
491

如何将count连接到类?使用SQL很容易,但不知道如何使用Pandas。 如果有人能在开始时帮助解决此任务,我们将不胜感激。

示例:

data = pd.DataFrame({
         'Pclass':[1,2,1,2,2,1],
         'Sex':['male'] + ['female'] * 5
})
首先是按
Sex
列进行必要的分组,并将带有
多索引的转换系列添加到3列数据框中:

data_by_class = data.groupby('Sex')['Pclass'].value_counts().reset_index(name='count')
print (data_by_class)
      Sex  Pclass  count
0  female       2      3
1  female       1      2
2    male       1      1
然后,对于每组的最大值,使用:

最后,如果希望标量输出,请将列转换为索引:

df = df.set_index('Sex')
print (df)
        Pclass  count
Sex                  
female       2      3
male         1      1
因此,可以通过以下方式按标签选择:

print (df.loc['female', 'count'])
3
print (df.loc['female', 'Pclass'])
2