Python 数据帧使用列作为行
我有一个数据框架,其中有一列用于分组和问题答案列:Python 数据帧使用列作为行,python,pandas,dataframe,pivot-table,melt,Python,Pandas,Dataframe,Pivot Table,Melt,我有一个数据框架,其中有一列用于分组和问题答案列: Group Q1 Q2 Q3 Q4 0 1 A B C 6 1 1 B C A A 2 1 E F V A 3 2 R T Y O 4 2 M Z D F 我想将问题的列移到行中,这样所需的数据框将如下所示: Group Question Answer 0 1 Q1 A 1 1 Q1
Group Q1 Q2 Q3 Q4
0 1 A B C 6
1 1 B C A A
2 1 E F V A
3 2 R T Y O
4 2 M Z D F
我想将问题的列移到行中,这样所需的数据框将如下所示:
Group Question Answer
0 1 Q1 A
1 1 Q1 B
2 1 Q1 R
3 1 Q2 B
4 1 Q2 C
5 1 Q2 F
。。
..
依此类推,直到最后一行:
[2 Q4 F]
最好的方法是什么?melt
理解力
melt
理解力
您也可以使用
unstack
# do unstack
df = df.set_index('Group').unstack().reset_index()
# rename columns
df.columns = ['Group','Question','Answer']
您也可以使用
unstack
# do unstack
df = df.set_index('Group').unstack().reset_index()
# rename columns
df.columns = ['Group','Question','Answer']
# do unstack
df = df.set_index('Group').unstack().reset_index()
# rename columns
df.columns = ['Group','Question','Answer']