Korzystanie pandy 0.11 na Python 2.7.3 Próbuję obracać prosty dataframe z następujących wartości:ReshapeError starając się obracać pandy dataframe
StudentID QuestionID Answer DateRecorded
0 1234 bar a 2012/01/21
1 1234 foo c 2012/01/22
2 4321 bop a 2012/01/22
3 5678 bar a 2012/01/24
4 8765 baz b 2012/02/13
5 4321 baz b 2012/02/15
6 8765 bop b 2012/02/16
7 5678 bop c 2012/03/15
8 5678 foo a 2012/04/01
9 1234 baz b 2012/04/11
10 8765 bar a 2012/05/03
11 4321 bar a 2012/05/04
12 5678 baz c 2012/06/01
13 1234 bar b 2012/11/01
Używam następujące polecenia:
df.pivot(index='StudentID', columns='QuestionID')
Ale ja otrzymuję następujący błąd:
ReshapeError: Index contains duplicate entries, cannot reshape
Należy pamiętać, że sama dataframe bez ostatniego lin e
13 1234 bar b 2012/11/01
Wyniki obrotowe z powodzeniem w następujących:
Answer DateRecorded
QuestionID bar baz bop foo bar baz bop foo
StudentID
1234 a b NaN c 2012/01/21 2012/04/11 NaN 2012/01/22
4321 a b a NaN 2012/05/04 2012/02/15 2012/01/22 NaN
5678 a c c a 2012/01/24 2012/06/01 2012/03/15 2012/04/01
8765 a b b NaN 2012/05/03 2012/02/13 2012/02/16 NaN
Jestem nowy przechylania i chcieliby wiedzieć, dlaczego mając duplikat StudentID, QuestionID para przyczyną tego problemu? I jak mogę to naprawić za pomocą funkcji df.pivot()?
dziękuję.
Próbowałem już tych: http://stackoverflow.com/questions/13216087/pandas-dataframe-pivoting-issue, http://stackoverflow.com/questions/11232275/pandas-pivot-warning-about -repeated-entries-on-index i http://stackoverflow.com/questions/13216087/pandas-dataframe-pivoting-issue. Ale problem nadal istnieje. Ponadto nie chcę, aby w wynikach była zawikłana wielowarteksowa ramka danych. – iqbalnaved