从数据框中的列创建字典

时间:2020-03-06 07:47:38

标签: python dictionary

我有一个包含3列的数据框, 第一栏:有名字 第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 :(得分:0)

pandas.DataFrame.applyto_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'}}