我有一个存储在数据框中的时间序列,想提取每列的最新非NAN值,并将其存储在单行数据框中。
所以我的datraframe看起来如下:
data={ 'col1' : [np.nan,np.nan,3], 'col2' : [1,np.nan,np.nan]}
df = pd.DataFrame(data,index=pd.bdate_range(start='01.01.2020',end='01.05.2020'))
并且我想要的输出应该是……。像:
col1 col2
0 3 1
[如果数据集为data.table
,则遍历Data.table的子集(.SD
),对非NA元素(x[!is.na(x)]
)进行子集化,并提取具有tail
的元素中的最后一个元素。
df1[, lapply(.SD, function(x) tail(x[!is.na(x)],1))]
# a b c
#1: 63 57 4