<p>使用</p>
<ul>
<li>Groupby在Pandas中生成组合组</li>
<li>Count函数计算每个组的大小</li>
<li>避免Python for循环,这对于JSON结构中的大型列表来说非常缓慢</li>
</ul>
<p>正确的数据(发布时有错误,即伪“;”)</p>
<pre><code>data = [
{
'make': 'dacia',
'model': 'x',
'version': 'A',
'typ': 'sedan',
'infos': [
{'id': 1, 'name': 'steering wheel problems'},
{'id': 32, 'name': 'ABS errors'}
]
},
{
'make': 'nissan',
'model': 'z',
'version': 'B',
'typ': 'coupe',
'infos': [
{'id': 3,'name': 'throttle problems'},
{'id': 56, 'name': 'broken handbreak'},
{'id': 11, 'name': 'missing seatbelts'}
]
}
]
</code></pre>
<p>计数组合</p>
<pre><code>import pandas as pd
# JSON to Pandas DataFrame
df = pd.json_normalize(data)
# Groupby desired properties and
# Count size of each group
result = df.groupby(['make', 'model', 'version', 'typ']).count()
print(result)
# Output (shows combinations of make, model, version, type and count)
infos
make model version typ
dacia x A sedan 1
nissan z B coupe 1
</code></pre>