将两列合并为一个

时间:2020-10-08 14:57:45

标签: python pandas dataframe merge

如果我有一个数据框(df),具有:

Columnx      Columny
1             NA
2             NA
3             NA
NA            4
NA            5
NA            6

想要

Column z
1
2
3
4
5
6

如何以最简单的方式做到这一点?本质上x和y是日期列,但是由于之前的合并,我有两个日期列,每个日期列都填充有NA,而另一个则被占用,但是只想要一个日期列。

2 个答案:

答案 0 :(得分:4)

使用df.combine_first()

In [58]: df
Out[58]: 
   Column x  Column y
0       1.0       NaN
1       2.0       NaN
2       3.0       NaN
3       NaN       4.0
4       NaN       5.0
5       NaN       6.0

In [59]: df['Column x'].combine_first(df['Column y'])
Out[59]: 
0    1.0
1    2.0
2    3.0
3    4.0
4    5.0
5    6.0
Name: Column_x, dtype: float64

答案 1 :(得分:3)

您可以在此处使用stack

pd.DataFrame(df.stack().to_numpy(), columns=['Columnsz'])

   Columnsz
0       1.0
1       2.0
2       3.0
3       4.0
4       5.0
5       6.0
相关问题