【问题标题】:Merge two columns if value is not null python如果值不为空python,则合并两列
【发布时间】:2021-09-01 07:37:08
【问题描述】:

我知道这个问题可能不是最难的,但我不知道为什么我不能解决它:

我有两列要合并

    label1  label2
5   4   NaN
13  0   NaN
18  0   NaN
32  2   3
33  5   NaN

如果“label2”不为空,我想合并它们并用逗号分隔它们。否则,新列中的新条目仅包含 label1 的值。 Label1 不能为空:

    label   label2 label3
5   4      NaN       [4] 
13  0      NaN       [0]          
18  0      NaN       [0]
32  2      3        [2,3]
33  5      NaN        [5]

我的输出列的值周围的括号是必要的,因为我想在下一步中使用 MultiLabelBinarizer。

谢谢大家

【问题讨论】:

    标签: python-3.x array-merge multilabel-classification


    【解决方案1】:

    您可以遍历数据框并为每一行分配值。

    df['label3'] = [[row['label1'], row['label2']] if pd.notna(row['label2']) else [row['label1']] for idx, row in df.iterrows()]
    

    【讨论】:

      猜你喜欢
      • 2015-10-10
      • 1970-01-01
      • 2017-04-05
      • 1970-01-01
      • 2016-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      相关资源
      最近更新 更多