Объедините информацию строки с заголовками столбцов, чтобы создать одну переменную - PullRequest
0 голосов
/ 10 октября 2018

У меня есть некоторые данные в соответствии с:

Person  Score1  Score2
A   1   4
B   2   5
C   3   6

Конечная цель состоит в том, чтобы отсортировать комбинацию «Человек» и «Балл» от наивысшего к наименьшему из всех возможных значений в исходной матрице

Моя мысль состоит в том, чтобы создать набор данных / переменную, используя Python / Pandas, которые преобразуют это в:

Person  Score
A-Score1    1
A-Score2    4
B-Score1    2
B-Score2    5
C-Score1    3
C-Score2    6

, а затем выполнить сортировку, но не уверены, как это сделать, или если есть лучший способ?

1 Ответ

0 голосов
/ 10 октября 2018

вы можете сделать это с df.melt

ваши необходимые данные:

>>> df
  Person  Score1  Score2
0      A       1       4
1      B       2       5
2      C       3       6
>>> pd.melt(df, id_vars=["Person"]).sort_values('Person')
  Person variable  value
0      A   Score1      1
3      A   Score2      4
1      B   Score1      2
4      B   Score2      5
2      C   Score1      3
5      C   Score2      6

ИЛИ

>>> df
  Person  Score1  Score2
0      A       1       4
1      B       2       5
2      C       3       6
>>>
>>>
>>> df.melt('Person')
  Person variable  value
0      A   Score1      1
1      B   Score1      2
2      C   Score1      3
3      A   Score2      4
4      B   Score2      5
5      C   Score2      6

ИЛИ

>>> pd.melt(df, id_vars=['Person'], value_vars=['Score1', 'Score2'])
  Person variable  value
0      A   Score1      1
1      B   Score1      2
2      C   Score1      3
3      A   Score2      4
4      B   Score2      5
5      C   Score2      6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...