如何使用pandas删除第一行?

7

我已经搜索了其他与删除行相关的问题,但没有找到一个可行的解决方案:

我有一个从工具Screaming Frog导出的CSV文件,看起来像这样:

Internal - HTML |               |             |
--------------- | --------------|-------------|
   Address      |   Content     | Status Code |
----------------|---------------|-------------|
www.example.com |   text/html   |   200       |

我希望删除包含“Internal-HTML”的第一行。当使用df.keys()进行分析时,我得到了以下信息:Index(['Internal - HTML'], dtype='object')

我想使用第二行作为索引,其中包含正确的列标签。

当我使用以下代码:

a = pandas.read_csv("internal_html.csv", encoding="utf-8")
a.drop('Internal - HTML')
a.head(3)

我遇到了这个错误:KeyError: 'Internal - HTML' 我还尝试了这里建议的方法(删除pandas中的索引名称),并尝试重置索引:
a = pandas.read_csv("internal_html.csv", encoding="utf-8")
a.reset_index(level=0, drop=True)
a.head(3)

以上选项都没有起作用。

2个回答

9
您可以在第一次调用时将header作为参数添加到函数中,这样可以使用列名并开始使用数据:
a = pandas.read_csv("internal_html.csv", encoding="utf-8", header=1)

3

我不确定 csv 数据格式的具体情况,但我认为在读取 csv 文件时,您可以使用 skiprows=1 参数来跳过第一行:

a = pd.read_csv("internal_html.csv", encoding="utf-8")
a.keys()

输出:

Index(['Internal - HTML'], dtype='object')

查看 df(假设数据格式如下):

print(a)

输出:

                            Internal - HTML
Address            Content   Status Code   
www.example.com   text/html     200        

现在,使用skiprows读取.csv文件:
a = pd.read_csv("internal_html.csv", encoding="utf-8", skiprows=1)
print(a.keys())

输出:

Index(['Address', '   Content', 'Status Code'], dtype='object')

观察数据框 a

print(a)

输出:

           Address      Content       Status Code
  0  www.example.com    text/html     200        

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接