2016-09-11 6 views
1

Я попытался найти что-то, что могло бы мне помочь, но я не мог. Я был бы признателен, если бы кто-то мог связать меня с ним, если на мой вопрос уже ответили.Pandas Dataframe Transpose

У меня есть рамка данных pandas, которая имеет рядные функции. Например:

Patient_ID Feature_Id Feature_Value 
0   3   10   0.30 
1   3   50   0.20 
2   3   60   1.00 
3   4   10   0.25 

Мне нужно, чтобы преобразовать их в столбцы признаков (по существу столбцов в Панде) - что-то, как показано ниже:

Patient_Id 10 50 60 
     3 0.30 0.2 1.0 
     4 0.25 Nan Nan 
+0

@ayhan извините, можете ли вы указать мне на какую-то помощь, как вы отформатировали таблицы здесь? – Ahsan

+1

Здесь вы можете напрямую вставить свой DataFrame и нажать '' {} ', пока выбран DataFrame. Он будет форматировать его как код. Я удалил символ '' 'и использовал пустые строки, вот и все. Вы можете нажать [edit] (http://stackoverflow.com/posts/39437387/edit), чтобы увидеть текущую уценку. – ayhan

ответ

1

Вы можете попробовать pd.pivot_table

In [16]: pd.pivot_table(df, index='Patient_ID', values='Feature_Value', columns='Feature_ID') 
Out[16]: 
Feature_ID 10 50 60 
Patient_ID     
3   0.30 0.2 1.0 
4   0.25 NaN NaN 

Обратите внимание, что если вам нужно указать, что делать, если существует больше одной записи (чего у вас нет в вашем примере), вы можете использовать параметр aggfunc (по умолчанию является вычисление среднего значения).

+0

Я должен использовать методы выбора объектов в столбцах строки. Мне сложно это сделать, поэтому конвертируем их в столбцы. Это не идеально, потому что матрица очень редкая. Есть ли способ найти статистику корреляции для функций, когда они находятся в столбце Feature_Id? – Ahsan

+0

@ Ахсан Не уверен, что я понял, что именно вы пытаетесь найти корреляции. Не могли бы вы попробовать 'df.T.corr()' и указать далее, если это не то, что вы пытаетесь сделать? –

+0

В столбце Feature_Id есть все возможности для классификации определенных предметов. Есть тысячи функций, и я думаю, что я мог бы выбрать тот, который внесет больший вклад в выбор правильной метки. Этикетки являются двоичными. Таким образом, возможно, попытка найти корреляцию между функциями и зависимой переменной (меткой) может помочь. Это все равно. – Ahsan