Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python数据帧:根据条件删除行?_Python_Python 3.x_Pandas_Dataframe_Numpy - Fatal编程技术网

Python数据帧:根据条件删除行?

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

我有一个df,有两列
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开始的每个用户的行”,我应该仔细阅读。你是对的