python - 字节/字典到数据帧

标签 python pandas

将数据转换为 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_evaljson.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/

相关文章:

python - 如何在 python 和 webapp2 中发出 POST 请求

python - 如何在 Telethon 中向 Telegram channel 发送消息

python - 合并具有重叠列的数据框

python - 使用 pandas 处理列中的缺失值

python - 从 python 中的嵌套 URL 中抓取并解析表

python - 在 Django 中更改表名

python - 如何将 Bash 变量传递给 Python?

python - 根据重复 str 值的索引合并数据框中的 str 值?

python - Pandas ,Numpy : How to Speed up row iteration with inner loop?

python - 计算一组中的第一个连续比赛