如何使用列的累加和作为参数筛选数据框



我有这个df:

df=pd.DataFrame({'Name':['John','Mike','Lucy','Mary','Andy'],
                'Age':[10,23,13,12,15],
                '%':[20,20,10,25,25]})

我想过滤这个df,从row 0 to row n取,直到列% = 50

不想排序%列或者df,我只需要得到%列和为50的第一行

输出为:

filtered=pd.DataFrame({'Name':['John','Mike','Lucy'],'Age':[10,23,13],'%':[20,20,10]})

使用loc或iloc访问器进行加和、布尔索引和切片

df.iloc[:(df['%'].cumsum()==50).idxmax()+1,:]

   Name  Age   %
0  John   10  20
1  Mike   23  20
2  Lucy   13  10

最新更新