давайте предположим, что у меня есть следующий пример кадра данных:
df1 = pd.DataFrame({'col1': ['A', 'A', 'B', 'A'], 'col2': ['CA', 'DA', 'CA', 'CA'], 'col3': [1, 1, 1, 2]})
Out[25]:
col1 col2 col3
0 A CA 1
1 A DA 1
2 B CA 1
3 A CA 2
И я хочу сгруппировать эту таблицу по 'col3' в качестве индекса, а 'col1' в качестве новых столбцов (в этом случае столбцы - 'A' или 'B'), и значения должны быть 'col2'.
Я пробовал это с pivot_table (также с pivot):
pd.pivot_table(df1,index='col3', columns="col1", values=['col2'])
в этом случае ошибка: No numeric types to aggregate
, в случае команды pivot
ошибка: multiple indexes
. Оба случая кажутся мне разумными. Но есть ли возможность сделать это? Когда у меня есть два значения для одного столбца, я предпочитаю следующий результат:
A B
1 ['CA', 'DA'] CA
2 'CA' NaN