Survived SibSp Parch
0 0 1 0
1 1 1 0
2 1 0 0
3 1 1 0
4 0 0 1
鉴于上述数据框,是否有一种优雅的方式来 groupby
有条件?我想根据以下条件将数据分成两组:
(df['SibSp'] > 0) | (df['Parch'] > 0) = New Group -"Has Family"
(df['SibSp'] == 0) & (df['Parch'] == 0) = New Group - "No Family"
然后采用这两个组的方法并最终得到如下输出:
SurvivedMean
Has Family Mean
No Family Mean
可以使用 groupby 完成还是我必须使用上述条件语句附加一个新列?
原文由 George Vince 发布,翻译遵循 CC BY-SA 4.0 许可协议
一种简单的分组方法是使用这两列的总和。如果其中任何一个为正,则结果将大于 1。只要长度与 DataFrame 的长度相同,groupby 就可以接受任意数组,因此您无需添加新列。