代码之家  ›  专栏  ›  技术社区  ›  utks009

将三个或更多数据帧合并为单个数据帧,并使用Pandas保留空值

  •  1
  • utks009  · 技术社区  · 8 年前

    文件1.txt

    f_name
    
    Nikc
    
    Jack
    Fro
    Singwa
    

    文件2.txt

    l_name
    
    
    Kolo
    Polo
    Dolo
    

    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
    

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

    1 回复  |  直到 8 年前
        1
  •  1
  •   asimo    8 年前

    如果你用skip\u blank\u lines=False读取csv,你应该没问题。

    df1 = pd.read_csv(1.txt,skip_blank_lines =False)
    
    
    Output:
    f_name
    
    Nikc
    
    Jack
    Fro
    Singwa