将pandas数据帧与不同长度的多个时间序列相结合



我有一个pandas数据帧df,看起来像:

date  aaa     date.1  bbb …       date.n   nnn
31.12.2001  3.0 31.12.2002  6.0 …   31.12.1990  10.2
1.1.2002  3.1   1.1.2003  6.3 …     1.1.1991  10.1

时间序列的长度不同。我想要一个单列日期和数据aaa,bbb,nnn。只要给定日期没有值,只需NaN。

花了我一段时间,但我找到了答案:

df.columns = [(np.arange (len(df.columns)) // 2).astype (str), df.columns]
df1 = [x.set_index(x.columns[0]).dropna() 
for i, x in df.groupby(level=0, axis=1)]
df2 = pd.concat(df1, axis=1)
df2.columns = df2.columns.map('_'.join)

最新更新