我有一个pandas DataFrame,其中一些值是字典列表:
name, array_of_dict
=============
A, [{date: '..', "is_done": True}, {date: '..', "is_done": True}, {date: '..', "is_done": True}]
B, [{date: '..', "is_done": True}, {date: '..', "is_done": True}, {date: '..', "is_done": True}]
C, [{date: '..', "is_done": True}, {date: '..', "is_done": False}]
A, [{date: '..', "is_done": False}, {date: '..', "is_done": True}]
A, [{date: '..', "is_done": False}]
我正在尝试使用is_done = True
和is_done = False
来获取行的频率。
我先试过
print(df.groupby('name').size())
给了我
A: 3
B: 1
C: 1
所以我虽然可以使用相同的函数来查找字典中变量的频率:
print(df.groupby('array_of_dict.is_done').size())
但它没有用。
是否可以使用字典数组中的变量进行分析?
答案 0 :(得分:0)
你可以做到
In [1274]: pd.Series([x['is_done'] for x in df.array_of_dict for x in x]).value_counts()
Out[1274]:
True 8
False 3