将数据转换为 DataFrame 的最佳方法是什么?
data = b'{"word": "Gondwana", "date": "2019-03-27 13:07:12.404732"}'
b'{"word": "alalus", "date": "2019-03-27 13:07:12.909517"}'
b'{"word": "Balto-Slavonic", "date": "2019-03-27 13:07:14.911308"}'
b'{"word": "peculatation", "date": "2019-03-27 13:07:15.421915"}'
我试过这个。似乎不起作用。
d = pd.DataFrame(dict(data))
最佳答案
首先将值解码为 utf-8
并通过 ast.literal_eval
或 json.loads< 转换为列表理解中的字典
:
data = [b'{"word": "Gondwana", "date": "2019-03-27 13:07:12.404732"}',
b'{"word": "alalus", "date": "2019-03-27 13:07:12.909517"}',
b'{"word": "Balto-Slavonic", "date": "2019-03-27 13:07:14.911308"}',
b'{"word": "peculatation", "date": "2019-03-27 13:07:15.421915"}']
import ast
df = pd.DataFrame([ast.literal_eval(x.decode("utf-8")) for x in data])
print (df)
date word
0 2019-03-27 13:07:12.404732 Gondwana
1 2019-03-27 13:07:12.909517 alalus
2 2019-03-27 13:07:14.911308 Balto-Slavonic
3 2019-03-27 13:07:15.421915 peculatation
替代解决方案,在大数据中应该更快:
import json
df = pd.DataFrame([json.loads(x.decode("utf-8")) for x in data])
关于python - 字节/字典到数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55397539/