假设我有这样一个 JSON 文件:
[
{
"id": "0",
"name": "name0",
"first_sent": "date0",
"analytics": [
{
"a": 1,
...
},
{
"a": 2,
...
}
]
}
]
我想用 Pandas 解析它。所以我加载它
df = pd.read_json('file.son')
在我尝试访问并计算每个项目的“分析”字段中的字典数量之前,这一切都很好,为此我没有找到比这更好的方法
for i in range(df.shape[0]):
num = len(df[i:i+1]['analytics'][i])
但这看起来完全不优雅,并且首先忽略了使用 Pandas 的意义。我需要能够访问每个项目的“分析”中的字段。问题是如何使用 Pandas 访问字段中的字段(映射到 Series 对象),而不使用非 Pandas 方法。
DataFrame 的头部如下所示(仅报告了“id”和“analytics”字段):
0 [{u'a': 0.0, u'b...
1 [{u'a': 0.01, u'b...
2 [{u'a': 0.4, u'b...
3 [{u'a': 0.2, u'b...
Name: analytics, dtype: object
0 '0'
1 '1'
2 '2'
3 '3'
第一个数字显然是索引,字符串是'id',很明显'analytics'以Series的形式出现。