我有一個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熊貓嗎?
我有一個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熊貓嗎?
使用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使用和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
這種轉換的術語不是「轉置」,而是從寬轉換爲長格式**。已經有一些可用的答案... –