我有一个存储在数据帧中的时间序列,想提取每列的最新非NAN值并将其存储在单行数据帧中。
所以我的datraframe如下所示:
data={ 'col1' : [np.nan,np.nan,3], 'col2' : [1,np.nan,np.nan],'col3' : [np.nan,3,np.nan]}
df = pd.DataFrame(data,index=pd.bdate_range(start='01.01.2020',end='01.05.2020'))
我想要的输出应该是……。喜欢:
col1 col2 col3
0 3 1 3
答案 0 :(得分:0)
使用列级上的应用,过滤非空条目并提取每个过滤后列的最后一个元素即可得出结果。
df.apply(lambda x: x[x.notnull()].values[-1])