создать словарь из столбцов в кадре данных - PullRequest
0 голосов
/ 06 марта 2020

У меня есть фрейм данных, содержащий 3 столбца, столбец 1: столбец с именами 2: элементы хранятся в столбце 3 списков: элементы хранятся в списках


    columns                                 row_index                       values
0   A                                          []                             []
1   B                                          []                             []
2   C                                       [12, 32]                      [abc, def]
3   D                                          []                             []
4   E                                       [65, 78]                      [qrst, xyz]

Я хочу создать словарь такой, что вывод выглядит следующим образом:

{C:{12:abc ,32:def},
 E:{65:qrst,78:xyz}}

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

1 Ответ

0 голосов
/ 06 марта 2020

Использование pandas.DataFrame.apply с to_dict:

new_df = df[df['values'].str.len().gt(0)].set_index('columns')
result = new_df.apply(lambda x: dict(zip(x["row_index"], x["values"])), 1).to_dict()
print(result)

Вывод:

{'C': {12: 'abc', 32: 'def'}, 
 'E': {65: 'qrst', 78: 'xyz'}}
...