Pandas DataFrame到Dict格式的新键

2024-09-26 18:01:12 发布

您现在位置:Python中文网/ 问答频道 /正文

最好的转换方法是:

                               deviceid devicetype
0  b569dcb7-4498-4cb4-81be-333a7f89e65f     Google
1  04d3b752-f7a1-42ae-8e8a-9322cda4fd7f    Android
2  cf7391c5-a82f-4889-8d9e-0a423f132026    Android

在这方面:

^{pr2}$

我试过了数据到字典()但这只是给出了:

{'deviceid': {0: 'b569dcb7-4498-4cb4-81be-333a7f89e65f',
  1: '04d3b752-f7a1-42ae-8e8a-9322cda4fd7f',
  2: 'cf7391c5-a82f-4889-8d9e-0a423f132026'},
 'devicetype': {0: 'Google', 1: 'Android', 2: 'Android'}}

Tags: 数据字典googleandroiddeviceiddevicetypepr2a82f
2条回答

要扩展前面的答案,to_dict()应该比to_json()快一点

对于较大的测试数据帧,这似乎是正确的,但是对于您提供的示例,to_dict()方法实际上要慢一些。在

大型测试集

In [1]: %timeit s = df.apply((lambda x: x.to_json()), axis=1)
Out[1]: 100 loops, best of 3: 5.88 ms per loop

In [2]: %timeit s = df.apply((lambda x: x.to_dict()), axis=1)
Out[2]: 100 loops, best of 3: 3.91 ms per loop

提供的示例

^{pr2}$

可以将apply与to_json一起使用:

In [11]: s = df.apply((lambda x: x.to_json()), axis=1)

In [12]: s[0]
Out[12]: '{"deviceid":"b569dcb7-4498-4cb4-81be-333a7f89e65f","devicetype":"Google"}'

要获取设备类型的列表,可以手动执行以下操作:

^{pr2}$

相关问题 更多 >

    热门问题