我有一个这样的数据框,
Name Product Quantity
0 NaN 1010 10
1 NaN 2010 12
2 NaN 4145 18
3 NaN 5225 14
4 Total 6223 16
5 RRA 7222 18
6 MLQ 5648 45
现在,我需要提取具有行的行/新数据框,直到Total
列中的Name
。
所需的输出:
Name Product Quantity
0 NaN 1010 10
1 NaN 2010 12
2 NaN 4145 18
3 NaN 5225 14
我尝试过
df[df.Name.str.contains("Total", na=False)]
这暂时没有帮助。任何建议都很好。
答案 0 :(得分:4)
选择True
值所在的索引并使用df.iloc
进行切片:
df_new=df.iloc[:df.loc[df.Name.str.contains('Total',na=False)].index[0]]
或使用series.idxmax()
来获得最大值的索引(True / False的最大值为True):
df_new=df.iloc[:df.Name.str.contains('Total',na=False).idxmax()]
print(df_new)
Name Product Quantity
0 NaN 1010 10
1 NaN 2010 12
2 NaN 4145 18
3 NaN 5225 14