Python计数JSON键值

Python计数JSON键值,python,json,pandas,Python,Json,Pandas,我有一个数据帧df,列为ColumnA。如何使用python计算此列中的键 df = pd.DataFrame({ 'ColA': [{ "a": 10, "b": 5, "c": [1, 2, 3], "d": 20 }, { "f": 1, "b": 3,

我有一个数据帧df,列为ColumnA。如何使用python计算此列中的键

df = pd.DataFrame({
    'ColA': [{
        "a": 10,
        "b": 5,
        "c": [1, 2, 3],
        "d": 20
    }, {
        "f": 1,
        "b": 3,
        "c": [0],
        "x": 71
    }, {
        "a": 1,
        "m": 99,
        "w": [8, 6],
        "x": 88
    }, {
        "a": 9,
        "m": 99,
        "c": [3],
        "x": 55
    }]
})
在这里,我想像这样计算每个键的计数。然后用图表显示频率

预期答案:

 a=3,
 b=2,
 c=3,
 d=1,
 f=1,
 x=3,
 m=2,
 w=1
试试这个,将列表转换为一行,以获得唯一值的计数,并根据生成的序列创建绘图

df.ColA.apply(lambda x : list(x.keys())).explode().value_counts()


. “看一看。”舒巴姆沙马道歉。我现在已经做了更改,我确实在上面的示例中工作。但我无法在我的实际数据集中做到这一点。它给出了一个错误,上面写着“AttributeError:'str'对象没有属性'keys'”。你可以在这里找到我的数据集我想计算mid的数量,通过的字符etcIt不是dict而是json字符串,你首先需要转换成dict,替换
list(x.keys())
list(json.loads(x.keys())
(include
import json
)应该可以解决这个问题。太棒了。最后一个问题。我的列有多个键,但我只需要键“pass\u details”的结果。如何获得我的列“ColA”中键“pass\u details”的每个值的总计数。例如,“pass\u details”:[“attack”,“defend”]“pass\u details”:[“attack”,“defend”,“让步”]预期结果:攻击=2,防御=2,让步=1而不是
.keys()。
a    3
c    3
x    3
b    2
m    2
f    1
d    1
w    1
Name: ColA, dtype: int64