我有一个csv文件,其中数据就像这样
col1,col2,col3,col4,col5
A,1,3,5,6
B,2,3,4,5
我想像这样转置这个文件:
col1,col6,col7
A,Col1,1
A,col2,3
A,col3,5
我正在使用python 2.7。我可以使用python pandas吗?
答案 0 :(得分:6)
使用melt
:
df.melt(id_vars='col1', var_name='col6', value_name='col7')
输出:
col1 col6 col7
0 A col2 1
1 B col2 2
2 A col3 3
3 B col3 3
4 A col4 5
5 B col4 4
6 A col5 6
7 B col5 5
选项2使用set_index
和stack
:
df.set_index('col1').rename_axis('col6', 1).stack().reset_index(name='col7')
输出:
col1 col6 col7
0 A col2 1
1 A col3 3
2 A col4 5
3 A col5 6
4 B col2 2
5 B col3 3
6 B col4 4
7 B col5 5