Попытка повернуть, сохранив фиксированный столбец - PullRequest
1 голос
/ 20 июня 2020

Я работаю с pandas фреймами данных. Предположим, у меня есть

df = pd.DataFrame({'name':['a', 'b', 'c'], 'x':[1,2,3], 'y':[4,5,6]})

, и я хочу иметь что-то похожее на

import numpy as np
arrays = [np.array(['a', 'a', 'b', 'b', 'c', 'c']),np.array(['x', 'y','x', 'y','x', 'y'])]
df1 = pd.DataFrame([1,4,2,5,3,6], index=arrays)

, но чтобы сохранить заголовок «имя».

(извините, я не убедитесь, как здесь скомпилировать биты кода и явно показать кадры данных).

По какой-то причине я изо всех сил пытаюсь сделать это с моим (гораздо большим) набором данных.

Что у меня есть пробовал:

  1. Использование df.groupby ('name')

Но это дает мне объект 'group ie', и я не знаю, что делать с ней.

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

Не работает, потому что я пытаюсь сохранить фиксированные «имена».

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

Это дает мне

   0  name    a
   x       1
   y       4
1  name    b
   x       2
   y       5
2  name    c
   x       3
   y       6
dtype: object

то есть объект индекса с одним слоем, а не с двойным слоем.

Любая помощь будет очень оценен.

1 Ответ

1 голос
/ 20 июня 2020

Используйте:

df1 = df.set_index('name').stack().to_frame()
# print(df1)
        0
name     
a    x  1
     y  4
b    x  2
     y  5
c    x  3
     y  6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...