我正在使用read_csv创建df,但是csv在实际列之前包含一些垃圾行,实际列位于csv的第5行中。
这是东西,我不知道事先有多少垃圾行,我只能读取一次read_csv,所以我不能在read_csv中使用“ head”或“ skiprows”。
所以我的问题是如何选择不同的行作为df中的列,还是只删除包括列在内的前n行?如果我要使用“ df.iloc [3:0]”,这些列仍然存在。
感谢您的帮助。
答案 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实际数据索引