首页 > 解决方案 > Pandas Dataframe 如何在特定行之前提取数据行?

问题描述

我有一个像这样的数据框,

A,B,C
1,2,'Balder'
3,4,'Vasquez'
5,6,'Hatala'
7,8,'Perron'

但数据框也可以是这样的,

A,B,C
1,2,'Balder'
3,4,'Vasquez'
7,8,'Perron'

我想提取行之前的所有内容,

7,8,'Perron'

对于上述行可以随时出现的各种数据框。它是动态的,不会出现在固定的行号上!

我曾尝试使用 skiprows 变量跳过我的数据框中的行,但它并不适用于所有情况。

df=pd.read_csv('file.csv',skiprows=)

蒂亚!

标签: pythonpandas

解决方案


假设您的索引是整数,首先找到包含您的数据的行的索引,然后用于loc获取该行之前的所有行。

idx = df[(df.A == 7) & (df.B == 8) & (df.C == 'Perron')].iloc[0].name

subset = df.loc[:idx-1]

subset

>>>
A,B,C
1,2,'Balder'
3,4,'Vasquez'
7,8,'Perron'


推荐阅读