首页 > 解决方案 > 使用 Pandas 将三个或更多数据帧合并为单个并保留空值

问题描述

我有三个这样的文本文件:

文件1.txt

f_name

Nikc

Jack
Fro
Singwa

文件2.txt

l_name


Kolo
Polo
Dolo

文件 3.txt

d

Sonio
Polio
Kolio
Lass

我已使用将每个文件转换为数据框

df1 = pd.read_csv(file1.txt)
df2 = pd.read_csv(file2.txt)
df3 = pd.read_csv(file3.txt)

现在,当我将其合并到单个数据帧中时,它会跳过所有空格

df = pd.concat([df1, df2, df3], axis=1, ignore_index=True)
print(df.head())

Output returns like this:
f_name  l_name  d
Nikc    Kolo    Sonio
Jack    Polo    Polio
Fro     Dolo    Kolio
Singwa          Lass

但我需要这样的输出:

f_name  l_name  d
Nikc                 
                Sonio
Jack    Kolo    Polio
Fro     Polo    Kolio
Singwa  Dolo    Lass

知道我做错了什么,或者这样做的正确方法是什么

标签: pythonpython-3.xpandas

解决方案


如果您使用 skip_blank_lines = False 读取 csv,则应该没问题。

df1 = pd.read_csv(1.txt,skip_blank_lines =False)


Output:
f_name

Nikc

Jack
Fro
Singwa

推荐阅读