Транспонировать CSV с помощью панд

1

У меня есть файл csv, который нужно преобразовать на основе двух столбцов.

Пример фрагмента:

a,UUID_ID,c,d
1,UUID1,3,2
1,UUID2,'add',2
3,UUID3,23-2-2018,5

Ожидаемый результат выглядит следующим образом:

a,d,UUID1, UUID2, UUID3
1,2,2,'add',
3,5,,,23-2-2018

Я пробовал читать файл в pandas и создавал еще одну копию DataFrame, но не мог понять, как объединить их. Любые идеи о том, как прыгать, начинают решать эту проблему.


Следовать за

Пример фрагмента:

a,UUID_ID,c,d
1,UUID1,3,  # here I put nan value for d column. So 
   # in output it should still consider that
1,UUID2,'add',   # here I put nan value for d column. So
   # in output it should still consider that
3,UUID3,23-2-2018,5

Ожидаемый результат выглядит следующим образом:

a,d,UUID1, UUID2, UUID3
1,,2,'add',
3,5,,,23-2-2018
Теги:
pandas

1 ответ

3
Лучший ответ

С pandas.pivot_table:

res = df.pivot_table(index=['a', 'd'], columns=['UUID_ID'],
                     values='c', aggfunc='first').reset_index()

print(res)

UUID_ID  a  d UUID1  UUID2      UUID3
0        1  2     3  'add'       None
1        3  5  None   None  23-2-2018
  • 1
    У меня есть еще один вопрос, он не допускает значения nan в столбцах «a» или «d». вместо этого он полностью удаляет этот ряд.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню