Python数据帧:根据条件删除行?
我有一个df,有两列Python数据帧:根据条件删除行?,python,python-3.x,pandas,dataframe,numpy,Python,Python 3.x,Pandas,Dataframe,Numpy,我有一个df,有两列name和score。我试图只为得分>1开始的每个用户保留行 df name score 0 bruno 0 1 bruno 0 2 bruno 15 3 bruno 0 4 paul
name
和score
。我试图只为得分>1开始的每个用户保留行
df
name score
0 bruno 0
1 bruno 0
2 bruno 15
3 bruno 0
4 paul 0
5 paul 0
6 paul 25
7 paul 0
8 paul 10
9 marcus 5
10 mason 0
最终测向
name score
2 bruno 15
3 bruno 0
6 paul 25
7 paul 0
8 paul 10
9 marcus 5
x=df[df.groupby(“name”)[“score”].cumsum().gt(0)]
打印(x)
印刷品:
姓名分数
2布鲁诺15
3布鲁诺0
6保罗25
7.0
8保罗10
9马库斯5
x=df[df.groupby(“name”)[“score”].cumsum().gt(0)]
打印(x)
印刷品:
姓名分数
2布鲁诺15
3布鲁诺0
6保罗25
7.0
8保罗10
9马库斯5
非常精简的解决方案。我想一点解释就好了。干杯问题,如果名称的第一个条目是0,会发生什么情况?这个条目不是被删除了吗?@FloLie它正在分组执行cumsum()。因此,如果组中的第一个条目为0,则该条目将被删除(直到第一个非零一)。@FloLie我认为是的,基于“我试图只保留分数>1开始的每个用户的行”,我应该仔细阅读。你是对的,这是一个非常精益的解决方案。我想一点解释就好了。干杯问题,如果名称的第一个条目是0,会发生什么情况?这个条目不是被删除了吗?@FloLie它正在分组执行cumsum()。因此,如果组中的第一个条目为0,则该条目将被删除(直到第一个非零一)。@FloLie我认为是的,基于“我试图只保留分数>1开始的每个用户的行”,我应该仔细阅读。你是对的