2017-04-26 30 views
0

我有一个数据帧DF,11行1列。在每一行我有一个数组,我将转换成json,但分配给数组中的每个条目一个键。从熊猫到JSON的钥匙

例如,

            0 

0  [1.234,1.234,2.1123,4.32212,1.2231,2.55323,1.4421] 
1  [2.21,1.234,1.31,3.121,2.22,2.32322,0.8873] 

上述数据帧应该成为相同的数据帧,但具有在条目JSON数据:

             0 

0  {"0":1.234,"1":1.234,"2":2.1123,"3":4.32212,"4"1.2231,"5"2.55323,"6": 
     1.4421} 
1 {"0":2.21,"1":1.234,"2":1.31,"3":3.121,"4":2.22,"5":2.32322,"6":0.8873} 

预先感谢。

回答

2

使用apply方法循环遍历列单元格;对于每个项目(列表),使用enumerate添加索引(键),然后将其转换为字典:

df['0'].apply(lambda lst: dict(enumerate(lst))) 

#0 {0: 1.234, 1: 1.234, 2: 2.1123, 3: 4.32212, 4:... 
#1 {0: 2.21, 1: 1.234, 2: 1.31, 3: 3.121, 4: 2.22... 
#Name: 0, dtype: object 
+0

不起作用。数据帧是相同的 – user3043636

+0

如果要修改原始数据帧'df ['0'] = df ['0'],则需要将结果返回给应用程序。 '。 – Psidom

+0

完美,很棒。 – user3043636