python pandas-将多列合并为互补行

时间:2018-10-21 13:10:16

标签: python pandas

数据框示例:

    col1, col2, col3
1     v1
2     v2
3           v3
4           v4
5                 v5
6                 v6

我想将 col1,col2,col3 合并到新列中,如下所示:

    col_new
1      v1
2      v2
3      v3
4      v4
5      v5
6      v6

如果数据框的格式如下:

    col1, col2, col3
1     v1          v7
2     v2
3           v3
4           v4
5                 v5
6                 v6

然后,我将合并这三列。根据这三列并不完全互补。 (行-索引1)


当前,我的方法通过 zip(col1,col2,col3)将三列转换为列表并合并。然后,检查列表中的每个迭代-[x[iteration] for x in list(zip(col1,...))]

在每次迭代中“非空” 项是否仅为一个(= 1)?但这似乎是一种低效的方式。

有什么有效的方法可以满足我的要求?

1 个答案:

答案 0 :(得分:1)

您可以使用:

df = df.fillna('').sum(axis=1)

# 0    v1
# 1    v2
# 2    v3
# 3    v4
# 4    v5
# 5    v6