我正在从一个数据库中读取数据(50k+ 行),其中一列存储为 JSON。我想将其提取到 pandas dataframe 中。 下面的片段可以正常工作,但效率相当低下,对整个数据库运行时需要很长时间。 请注意,并非所有项目都具有相同的属性,并且 JSON 具有一些嵌套属性。
如何使这个过程更快?
import pandas as pd
import json
df = pd.read_csv('http://pastebin.com/raw/7L86m9R2', \
header=None, index_col=0, names=['data'])
df.data.apply(json.loads) \
.apply(pd.io.json.json_normalize)\
.pipe(lambda x: pd.concat(x.values))
###this returns a dataframe where each JSON key is a column
df.data.apply(lambda x: pd.Series(json.loads(x)))
能否行得通? - Zero