转置csv文件

时间:2017-08-22 13:19:09

标签: python pandas csv

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

1 个答案:

答案 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_indexstack

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