Pandas read_excel(或其他)-“skiprows”是否出现在“headers”之前?

问题描述 投票:0回答:2

这是一个关于调用 Pandas

read_excel
函数时两个操作发生的顺序的问题。 (尽管这也适用于其他
read_X
类型的函数,例如
read_csv
。)

read_excel
函数接受两个感兴趣的参数

  • skiprows
  • headers

在本例中,我将整数列表传递给

headers
以创建多重索引。

我的问题是,

skiprows
操作是否发生在
headers
用于设置标题之前? (文档没有明确说明这一点。)

python pandas
2个回答
0
投票

是的,当使用整数时,

skiprows
会跳过文件开头的行,与标题无关。例如,请参阅
read_csv
的文档:

skiprows int,int 或 Callable 列表,可选

文件开头要跳过的行号(0-索引)或要跳过的行数(int)。

如果可调用,则将根据行索引评估可调用函数,如果应跳过该行则返回 True,否则返回 False 否则。有效的可调用参数的一个例子是 lambda x: x 在 [0, 2] 中。

示例:

import io

pd.read_csv(io.StringIO('''1,2,3
4,5,6
7,8,9
10,11,12'''), skiprows=2, header=None)

    0   1   2
0   7   8   9
1  10  11  12

pd.read_csv(io.StringIO('''1,2,3
4,5,6
7,8,9
10,11,12'''), skiprows=2, header=0)

    7   8   9
0  10  11  12

0
投票

是的,在 Pandas 中,使用 read_excel 函数时,跳行操作发生在设置标题之前(对于其他 read_X 函数,如 read_csv 也类似)。

© www.soinside.com 2019 - 2024. All rights reserved.