Python计数JSON键值
我有一个数据帧df,列为ColumnA。如何使用python计算此列中的键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 = 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())
(includeimport 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