如果我有一个数据框(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,而另一个则被占用,但是只想要一个日期列。
答案 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