Транспонировать диапазон колонны за раз - панды - PullRequest
1 голос
/ 13 октября 2019

У меня есть такой фрейм данных,

  id    pd  pd_dt      pd_tp    pd.1    pd_dt.1     pd_tp.1 pd.2    pd_dt.2     pd_tp.2
0  1    100 per year   468      200     per year    400     300     per year    320
1  2    100 per year   60       200     per year    890     300     per year    855

Теперь мне нужен такой вывод,

id Transposed_value
1  100
1  per year
1  468
1  200
1  per year
1  400
1  300
1  per year
1  320
2  100
2  per year
2  360
2  200
2  per year
2  890
2  300
2  per year
2  855

Если вы видите, pd, pd_dt, pd_tp повторяются с pd.1 ..

Я пытался,

df.T

Это не дает мне желаемый результат. Любое предложение или помощь для достижения моих результатов было бы замечательно.

1 Ответ

3 голосов
/ 13 октября 2019

Использование:

df.set_index('id').stack().reset_index(name='Transposed_value').drop('level_1',axis=1)

Выход

   id   Transposed_value
0   1   100
1   1   per year
2   1   468
3   1   200
4   1   per year
5   1   400
6   1   300
7   1   per year
8   1   320
9   2   100
10  2   per year
11  2   60
12  2   200
13  2   per year
14  2   890
15  2   300
16  2   per year
17  2   855
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...