【问题标题】:How to merge identic columns in the same df? [duplicate]如何合并同一df中的相同列? [复制]
【发布时间】:2022-09-30 20:40:02
【问题描述】:

我有两个要连接的数据框,然后我更改了第二个的名称以匹配第一个,我想知道 Python 是否有可能合并两个重复的列? (想法是,如果另一列中的值非空,则替换所有相同列的 Nans。)

精度:我知道我可以更改列的名称然后连接,但这会导致我无法解决的索引错误

例子:

Info_r1_c1 Info_r1_c1
nan        nan
nan        198
300        nan
nan        nan
600        nan
nan        460
6.9        nan

我想要这个结果,一个剩余的列,所有相同列的替换值

Info_r1_c1
nan 
198
300
nan
600
460
6.9 

感谢您的帮助,因为我真的被这些重复的东西所困扰

    标签: python pandas dataframe


    【解决方案1】:

    可能,一个简单的 apply-lambda 应该可以完成这项工作......试试这个......

    df = pd.DataFrame({"Info_r1_c1":[np.nan,20,30,np.nan],
                        "Info_r1_c2":[10,np.nan,np.nan,40]})
    df.columns = ["Info_r1_c1","Info_r1_c1"]
    dup_col_name = "Info_r1_c1" # Edit this variable which is duplicated in df
    df["Info_r1_c1_Final"] = df[dup_col_name].apply(lambda x: list(x)[0] if pd.isna(list(x)[1]) else list(x)[1],axis=1)
    
    # Output of df
       Info_r1_c1  Info_r1_c1  Info_r1_c1_Final
    0         NaN        10.0              10.0
    1        20.0         NaN              20.0
    2        30.0         NaN              30.0
    3         NaN        40.0              40.0
    

    希望这可以帮助...

    【讨论】:

      猜你喜欢
      • 2022-01-05
      • 2017-12-09
      • 1970-01-01
      • 2020-04-22
      • 2021-08-01
      • 1970-01-01
      • 2021-08-21
      • 1970-01-01
      • 2022-06-15
      相关资源
      最近更新 更多