Pandas:如何读取包含合并单元格的 excel 文件


当您将包含合并单元格的 Excel 文件读取到 pandas DataFrame 中时,合并单元格将自动填充 NaN 值。

导入文件后填充这些 NaN 值的最简单方法是使用 pandas fillna()函数,如下所示:

 df = df. fillna (method=' ffill ', axis= 0 )

以下示例展示了如何在实践中使用此语法。

示例:在 Pandas 中读取包含合并单元格的 Excel 文件

假设我们有以下名为merged_data.xlsx的 Excel 文件,其中包含有关各个篮球运动员的信息:

请注意, Team列中的值已合并。

球员A到D属于小牛队,球员E到H属于火箭队。

假设我们使用read_excel()函数将此 Excel 文件读入 pandas DataFrame:

 import pandas as pd

#import Excel fie
df = pd. read_excel (' merged_data.xlsx ' )

#view DataFrame
print (df)

        Team Player Points Assists
0 Mavericks A 22 4
1 NaN B 29 4
2 NaN C 45 3
3 NaN D 30 7
4 Rockets E 29 8
5 NaN F 16 6
6 NaN G 25 9
7 NaN H 20 12

默认情况下,pandas 用 NaN 值填充合并单元格。

为了用团队名称填充每个 NaN 值,我们可以使用fillna()函数,如下所示:

 #fill in NaN values with team names
df = df. fillna (method=' ffill ', axis= 0 )

#view updated DataFrame
print (df)

        Team Player Points Assists
0 Mavericks A 22 4
1 Mavericks B 29 4
2 Mavericks C 45 3
3 Mavericks D 30 7
4 Rockets E 29 8
5 Rockets F 16 6
6 Rockets G 25 9
7 Rockets M 20 12

请注意,每个 NaN 值都已填充了适当的团队名称。

请注意, axis=0参数告诉 pandas 垂直填充 NaN 值。

要在列中水平填充 NaN 值,可以指定axis=1

注意:您可以在此处找到 pandas fillna()函数的完整文档。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

Pandas:如何在读取 Excel 文件时跳行
Pandas:导入 Excel 文件时如何指定类型
Pandas:如何合并多个 Excel 工作表

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注