2016-02-18 4 views
1

У меня есть панд dataframe, который имеет формат, как этотФорматирование dataframe с помощью Python панды

Date  Grade Student 
1/1/2015 0.15 Brian 
1/1/2015 0.05 Steve 
1/1/2015 0.02 Connor 
1/2/2015 0.14 Brian 
1/2/2015 0.05 Steve 

.....

Можно ли переформатировать dataframe таким образом, в том, что ему теперь выглядит так?

Date  Brian Steve Connor 
1/1/2015 0.15 0.05 0.02 
1/2/2015 0.14 0.05  - 

Я хорошо знаком с панд и агрегирование столбцов вместе, но я не уверен, как идти о сжатии их именно таким образом, любая помощь woiuld быть большим.

ответ

1

Вы можете использовать pivot_table:

a = df.pivot_table(index='Date', columns='Student', values='Grade') 

Это возвращает:

Out[5]: 
Student Brian Connor Steve 
Date       
1/1/2015 0.15 0.02 0.05 
1/2/2015 0.14  NaN 0.05 
+0

lol, я как раз собирался ответить на это сам, поскольку нашел прекрасный пример в моем обычном поиске Google. Вы абсолютно правы. Большое спасибо. – GreenGodot

1

В этом простом случае вы можете просто использовать pivot.

>>> df.pivot('Date', 'Student', 'Grade') 
Student Brian Connor Steve 
Date       
1/1/2015 0.15 0.02 0.05 
1/2/2015 0.14  NaN 0.05 
Смежные вопросы