2012-11-07 28 views
4

所以我有一個採樣數據以CSV這樣設置: -瞭解多指標

name team date  score 
John A 3/9/12  100 
John B 3/9/12  99 
Jane B 4/9/12  102 
Peter A 9/9/12  103 
Josie C 11/9/12  111 
Rachel A 30/10/12 98 
Kate B 31/10/12 103 
David C 1/11/12  104 

執行以下操作: -

from pandas.io.parsers import read_csv 

df = read_csv("data/Workbook1.csv", index_col=["team", "name"]) 

df 

       date score 
team name     
A John  3/9/12 100 
B John  3/9/12  99 
    Jane  4/9/12 102 
A Peter  9/9/12 103 
C Josie 11/9/12 111 
A Rachel 30/10/12  98 
B Kate 31/10/12 103 
C David 1/11/12 104 

如何壓縮第一指數(「小組」),進一步所以我沒有重複的值?成爲: -

    date score 
team name     
A John  3/9/12 100 
    Peter  9/9/12 103 
    Rachel 30/10/12  98 
B John  3/9/12  99 
    Jane  4/9/12 102 
    Kate 31/10/12 103 
C Josie 11/9/12 111 
    David 1/11/12 104 

回答

4

自己想出來。

df = read_csv("data/Workbook1.csv") 

df 

    name team  date score 
0 John A 3/9/12 100 
1 John B 3/9/12  99 
2 Jane B 4/9/12 102 
3 Peter A 9/9/12 103 
4 Josie C 11/9/12 111 
5 Rachel A 30/10/12  98 
6 Kate B 31/10/12 103 
7 David C 1/11/12 104 

df2 = df.pivot('team', 'name').stack() 

df2 

       date score 
team name     
A John  3/9/12 100 
    Peter  9/9/12 103 
    Rachel 30/10/12  98 
B Jane  4/9/12 102 
    John  3/9/12  99 
    Kate 31/10/12 103 
C David 1/11/12 104 
    Josie 11/9/12 111 
0

作爲替代解決方案,如果由於某種原因您希望在read_csv語句中保留多重索引。

相同的數據集。

df = pd.read_csv("Workbook1.csv", index_col=["team", "name"]) 
df.stack().unstack() 

     date score 
team name   
A John 3/9/2012 100 
    Peter 9/9/2012 103 
    Rachel 30/10/12 98 
B Jane 4/9/2012 102 
    John 3/9/2012 99 
    Kate 31/10/12 103 
C David 1/11/2012 104 
    Josie 11/9/2012 111