使用ID重塑数据框

时间:2020-10-23 11:02:58

标签: python dataframe transpose

在向数据框添加ID时出现问题。

我数据框的索引是一个日期时间,然后每个ID的列都有相同的变量。我想保留索引,但每个变量都有一列,并添加一列给出ID。

我有什么:

Dataframe number 1

我想要什么:

Dataframe wanted

这是我的尝试:

Result

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```

1 个答案:

答案 0 :(得分:0)

作为熊猫的初学者,我不确定如何获得完美的答案,但是您必须以一种或另一种方式使用df.stack()。