pandas - 为什么我无法使用 Pandas 的“skiprows”参数跳过行

Cur*_*ner 1 python pandas

那么,看看下面的代码:

import numpy as np
import pandas as pd

def answer_one():

    energy = pd.read_excel(io = "Energy Indicators.xls", header = 9, parse_cols = "C:F", skip_footer = 38)
    return energy

answer_one()
Run Code Online (Sandbox Code Playgroud)

它产生以下输出:

在此输入图像描述

现在,当我对代码进行一些修改时,如下所示,它完全改变了输出:

def answer_one():

    energy = pd.read_excel(io = "Energy Indicators.xls", header = 9, parse_cols = "C:F", skip_footer = 38, skiprows = 8)
    return energy

answer_one()
Run Code Online (Sandbox Code Playgroud)

我得到的输出如下:

在此输入图像描述

根据我赋予“skiprows”参数的参数,输出会自行更改。我无法理解当我们保持“headers”参数的参数不变时,为什么更改“skiprows”的值会影响数据帧的标题?请在此处找到数据文件(.xlsx 文件)

有什么帮助吗?我使用 Pandas v0.19.2。另外,请不要将我的问题标记为“重复”。我丢分了伙计。我相当努力地试图找到一个现有的问题,但找不到。

Han*_*ave 6

当您跳过前 8 行时,您将跳过包含标题信息的行,第 9 行将成为您的标题。不要跳过前 8 行,而是尝试

skiprows=range(1, 9)
Run Code Online (Sandbox Code Playgroud)

在文档中,skiprows 允许迭代要跳过的行。StackOverflow 上已经有一个关于 csv 文件和方法的相关问题read_csv()