Python: Pandas, Dataframe, конвертировать данные из 1 столбца в формат данных 2D - PullRequest
2 голосов
/ 18 февраля 2012

Это датафрейм Pandas Я хочу преобразовать одномерные данные в двумерную форму массива

Как конвертировать из

  'A'  'B'  'C'
1  10   11   a  
2  10   12   b
3  10   13   c 
4  20   11   d  
5  20   12   e
6  20   13   f

to this 2d array as the following

   11 12 13
10  a  b  c 
20  d  e  f

Ответы [ 2 ]

6 голосов
/ 18 февраля 2012
>>> df.pivot('A', 'B', 'C')
  B  11  12  13
A              
10   a   b   c 
20   d   e   f 

Где df:

>>> df = DataFrame(dict(A=[10]*3+[20]*3, B=range(11, 14)*2, C=list('abcdef')))
>>> df
   A   B   C
0  10  11  a
1  10  12  b
2  10  13  c
3  20  11  d
4  20  12  e
5  20  13  f

См. Изменение формы и сводные таблицы

2 голосов
/ 05 ноября 2012

Вы также можете использовать панели, чтобы помочь вам сделать этот круг. Как это: -

In [86]: panel = df.set_index(['A', 'B']).sortlevel(0).to_panel()

In [87]: panel["C"]
Out[87]: 
B  11 12 13
A          
10  a  b  c
20  d  e  f

Что дает тот же результат, что и ответ Себастьяна выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...