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 工作表