我有这个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