如果值不为空则合并两列 python
Merge two columns if value is not null python
我知道这个问题可能不是最难的,但我不知道为什么我不能解决它:
我有两列要合并
label1 label2
5 4 NaN
13 0 NaN
18 0 NaN
32 2 3
33 5 NaN
如果 'label2' 不为空,我想合并它们并用 I 逗号分隔它们。否则新列中的新条目只包含 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,所以我的输出列的值周围的括号是必需的。
谢谢大家
您可以遍历数据框并为每一行赋值。
df['label3'] = [[row['label1'], row['label2']] if pd.notna(row['label2']) else [row['label1']] for idx, row in df.iterrows()]
我知道这个问题可能不是最难的,但我不知道为什么我不能解决它:
我有两列要合并
label1 label2
5 4 NaN
13 0 NaN
18 0 NaN
32 2 3
33 5 NaN
如果 'label2' 不为空,我想合并它们并用 I 逗号分隔它们。否则新列中的新条目只包含 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,所以我的输出列的值周围的括号是必需的。
谢谢大家
您可以遍历数据框并为每一行赋值。
df['label3'] = [[row['label1'], row['label2']] if pd.notna(row['label2']) else [row['label1']] for idx, row in df.iterrows()]