2016-06-29 3 views
1

Мои данные выглядит что-то вроде этогоПеренося данные в питона

 
cust c1 p1 c2 p2 c3 p3 
1 2 3 4 5 6 7 
8 9 10 11 12 13 14 

Я хочу, чтобы перенести эти данные и вернуться в формате ниже:

 
cust c p 
1 2 3 
1 4 5 
1 6 7 
8 9 10 
8 11 12 
8 13 14 

Пожалуйста, Может кто-то посоветует, что использовать?

ответ

2

Вы можете использовать функцию lreshape с sort_values:

print (pd.lreshape(df, {'c': ['c1', 'c2', 'c3'], 'p': ['p1', 'p2', 'p3']}) 
     .sort_values('cust')) 

    cust c p 
0  1 2 3 
2  1 4 5 
4  1 6 7 
1  8 9 10 
3  8 11 12 
5  8 13 14 
+0

Спасибо за тонну за помощь! Также существует другая функция «расплавление», которая решает проблему. –

+0

Точно - но это немного сложно - [см.] (Http://stackoverflow.com/a/39853371/2901002). – jezrael

1

Если вы получаете данные в списке, вы можете использовать CSV.

import csv 

f = open('name.csv','wb') 
csv = csv.reader(f,delimiter=';') 

csv.writerow([list[0]]+[list[1]]+...) 
1

если ваши данные в рамке данных pandas. Вы можете использовать этот код:

import pandas as pd 
df.transpose()# df is the name of data frame. 

Или вы можете использовать непосредственно:

df.T#In this case data frame name is df.T means transpose. 

я думаю, что это поможет вам.