Мне нужно создать словарь, в котором каждый элемент представляет собой строку. Ключ представляет конкретный столбец, а значения будут списком оставшихся записей столбца. Простой пример ниже:

Пример df:

Col_A     Col_B    Col_C    Col_D
Roger      5        blue    house
Kim        2        green   car
Mike       10       red     bike

Желаемый словарь = {'Roger': ['5', 'blue', 'house'], 'Kim': ['2', 'green', 'car'], 'Mike': ['10', ' красный ',' велосипед ']}

Любые предложения приветствуются!

1
dmd7 8 Июн 2021 в 21:20

2 ответа

Лучший ответ

Установите индекс на COl_A, затем переместите кадр и преобразуйте его в словарь с ориентацией, установленной на list

df.set_index('Col_A').T.to_dict('list')

{'Roger': [5, 'blue', 'house'],
 'Kim': [2, 'green', 'car'],
 'Mike': [10, 'red', 'bike']}
3
Shubham Sharma 8 Июн 2021 в 18:25

Пытаться:

print(df.set_index("Col_A").apply(list, 1).to_dict())

Печать:

{'Roger': [5, 'blue', 'house'], 'Kim': [2, 'green', 'car'], 'Mike': [10, 'red', 'bike']}
1
Andrej Kesely 8 Июн 2021 в 18:22