我有一个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)