如何在df中选择其他行作为列或删除包含该列的前几行?

时间:2019-05-24 03:36:24

标签: pandas

我正在使用read_csv创建df,但是csv在实际列之前包含一些垃圾行,实际列位于csv的第5行中。

这是东西,我不知道事先有多少垃圾行,我只能读取一次read_csv,所以我不能在read_csv中使用“ head”或“ skiprows”。

所以我的问题是如何选择不同的行作为df中的列,还是只删除包括列在内的前n行?如果我要使用“ df.iloc [3:0]”,这些列仍然存在。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

编辑:已更新,因此它也可以重置索引并且不包含索引名称:

df.columns = df.iloc[4].values
df = df.iloc[5:].reset_index(drop=True)

如果您知道列名从示例中的第5行开始,则可以执行以下操作:

df.columns = df.iloc[4]
df = df.iloc[5:]

答案 1 :(得分:0)

如果确定了垃圾行的数量,则可以使用“ iloc”,例如,垃圾行的数量为3个冷杉行(索引为0,1,2),则可以使用以下代码获取所有剩余的行实际数据行:

df=df.iloc[3:]

如果未确定垃圾行的数量,则必须从垃圾行中搜索第一个实际数据行的索引。因此您可以找到实际数据行的第一个索引,并可用于获取所有剩余的数据行。

df=df.iloc[n:]

n = fisrt实际数据索引