Транспонирование кадра данных Pandas без агрегирования - PullRequest
0 голосов
/ 30 октября 2018

У меня есть многоколонный фрейм данных, который содержит несколько одинаковых числовых значений. Это выглядит следующим образом:

       A   B   C   D
0      1   1   10  1
1      1   1   20  2
2      1   5   30  3
3      2   2   40  4
4      2   3   50  5

Это здорово, однако мне нужно сделать A индексом, а B столбцом. Проблема заключается в том, что столбец агрегируется и усредняется для каждого идентичного значения B.

df = DataFrame({'A':[1,1,1,2,2],
                'B':[1,1,5,2,3],
                'C':[10,20,30,40,50],
                'D':[1,2,3,4,5]})

transposed_df = df.pivot_table(index=['A'], columns=['B'])

Вместо того, чтобы держать 10 и 20 по B1, оно в среднем составляет от двух до 15.

      C                      D
B     1     2     3     5    1    2    3    5
A
1  15.0   NaN   NaN  30.0  1.5  NaN  NaN  3.0
2   NaN  40.0  50.0   NaN  NaN  4.0  5.0  NaN

Можно ли как-нибудь сохранить столбец B одинаковым и отображать каждое значение C и D с помощью панд, или мне лучше написать свою собственную функцию для этого? Кроме того, очень важно, чтобы индекс и столбец оставались неизменными, поскольку может существовать только один из каждого числа.

РЕДАКТИРОВАТЬ: Это желаемый выход. Я понимаю, что этот точный макет, вероятно, невозможен, но он показывает, что 10 и 20 должны быть в столбце 1 и в индексе 1.

      C                          D
B     1        2     3     5     1        2    3    5
A
1  10.0,20.0  NaN   NaN    30.0  1.0,2.0  NaN  NaN  3.0
2  NaN        40.0  50.0   NaN   NaN      4.0  5.0  NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...