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完成,或者我必须使用上面的条件语句追加一个新列?
如果列
SibSp
和Parch
中的never值小于0
,则仅使用一个条件:如果无法使用,首先使用两种条件:
一种简单的分组方法是使用这两列的和。如果其中任何一个为正,则结果将大于1。groupby接受任意数组,只要长度与DataFrame的长度相同,这样就不需要添加新列。
可以在列表中定义条件,并使用下面的函数
group_by_condition
为每个条件创建筛选列表。然后,您可以使用模式匹配选择结果项:相关问题 更多 >
编程相关推荐