如何根据 Pandas 数据框中的列值合并和居中两行?

社会演员多 python 260

原文标题How to merge and center two rows based on a column value in Pandas dataframe?

我创建了一个熊猫数据框,如下所示。

ID       Lookup
A0001    Loc: File_location_A
A0001    IP: 10.0.0.1
A0001    Host: Human
B0001    Loc: File_location_B
B0001    IP: 10.0.0.2
B0001    Host: Cyborg
C0001    Loc: File_location_C
C0001    IP: 10.0.0.3
C0001    Host: Unknown

预期输出为

ID       Lookup
A0001    Loc: File_location_A
         IP: 10.0.0.1
         Host: Human
B0001    Loc: File_location_B
         IP: 10.0.0.2
         Host: Cyborg
C0001    Loc: File_location_C
         IP: 10.0.0.3
         Host: Unknown

议程是将上述内容写入 csv,以便复制我们在 excel 中的合并和居中行为。任何帮助将非常感激。

原文链接:https://stackoverflow.com//questions/71463253/how-to-merge-and-center-two-rows-based-on-a-column-value-in-pandas-dataframe

回复

我来回复
  • jezrael的头像
    jezrael 评论

    议程是将上述内容写入 csv,以便复制我们在 excel 中的合并和居中行为。

    不可能,因为csv没有格式,所以不可能setmergecenterlike在excel里如果rundf.set_index(['ID','Lookup']).to_excel('file.xlsx')


    如果需要将重复的值替换为空字符串,请使用Series.duplicatedDataFrame.loc

    df.loc[df.ID.duplicated(), 'ID'] = ''
    print (df)
          ID                Lookup
    0  A0001  Loc: File_location_A
    1                 IP: 10.0.0.1
    2                  Host: Human
    3  B0001  Loc: File_location_B
    4                 IP: 10.0.0.2
    5                 Host: Cyborg
    6  C0001  Loc: File_location_C
    7                 IP: 10.0.0.3
    8                Host: Unknown
    
    2年前 0条评论