Python 使用ID重塑数据帧

Python 使用ID重塑数据帧,python,dataframe,transpose,Python,Dataframe,Transpose,我在数据框中添加了一个ID,这是一个问题 我的dataframe的索引是datetime,然后每个ID都有具有相同变量的列。我希望保留索引,但每个变量都有一列,并添加一个提供ID的列 我所拥有的: 我想要的是: 以下是我的尝试: ID_List = df.columns.str.split(' ').str[5].tolist()[1:] ID_List = [sub[:-1] for sub in ID_List] print(ID_List) Tag_List = nacelle1.c

我在数据框中添加了一个ID,这是一个问题

我的dataframe的索引是datetime,然后每个ID都有具有相同变量的列。我希望保留索引,但每个变量都有一列,并添加一个提供ID的列

我所拥有的:

我想要的是:

以下是我的尝试:

ID_List = df.columns.str.split(' ').str[5].tolist()[1:]
ID_List = [sub[:-1] for sub in ID_List]
print(ID_List)

Tag_List = nacelle1.columns.str.split(':').str[1].tolist()[1:]
Tag_List = ['LOCAL_TIME'] + Tag_List
print(Tag_List)

df.columns = Tag_List

df_tr = df.transpose()
new_header = df_tr.iloc[0] #grab the first row for the header
df_tr = df_tr[1:] #take the data less the header row
df_tr.columns = new_header #set the header row as the df header
df_tr['ID'] =ID_List```


作为熊猫的初学者,我不知道如何获得完美的答案,但您必须以某种方式使用df.stack()。

Thx!我会看看它是否能解决我的问题​​​​​​​