关于python:如何使用pandas删除第一行?

How to drop first row using pandas?

我搜索过与删除行相关的其他问题,但找不到有效的问题:

我有一个从工具尖叫青蛙导出的csv文件,如下所示:

1
2
3
4
5
Internal - HTML |               |             |
--------------- | --------------|-------------|
   Address      |   Content     | Status Code |
----------------|---------------|-------------|
www.example.com |   text/html   |   200       |

我想删除包含"internal-html"的第一行。当用df.keys()分析它时,我得到了这个信息"Index(['Internal - HTML'], dtype='object')"。

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

当我使用代码时:

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

我得到这个错误:KeyError: 'Internal - HTML'

我还尝试了这里建议的删除熊猫中的索引名称,并尝试重置索引:

1
2
3
a = pandas.read_csv("internal_html.csv", encoding="utf-8")
a.reset_index(level=0, drop=True)
a.head(3)

以上选项都不起作用。


您可以在第一次调用中添加header作为参数,以使用列名和数据开头:

1
a = pandas.read_csv("internal_html.csv", encoding="utf-8", header=1)

不完全确定csv中的数据是如何的,但我认为您可以在读取csv时使用skiprows=1

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

输出:

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

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

1
print(a)

输出:

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

现在,使用skiprows读取.csv文件:

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

输出:

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

观察数据帧a

1
print(a)

输出:

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