我有一个这样的数据框:
a b version
0 1 4 [{'x': 'q', 'y': 7},{'x': 's', 'y': 7}]
1 2 5 [{'x': 'r', 'y': 8},{'x': 'q','y': 8}]
2 3 6 [{'x': 's', 'y': 7}]
我想按 x 分组。
我尝试了这里的解决方案,但由于版本中有多个指令,我遇到了一个键盘错误。
Group pandas dataframe by a nested dictionary key
这是我尝试过的:
df.groupby(df.version.apply(lambda x: x['x'])).size()
预期结果:
q 2
s 2
r 1
最佳答案
因为你显然不使用 a
和 b
列,只需链接你的字典并获得一个全新的数据框架即可使用
ndf = pd.DataFrame(itertools.chain.from_iterable(df.version))
ndf.groupby('x').size()
x
q 2
r 1
s 2
dtype: int64
关于python - 通过在单个记录中多次出现嵌套键进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57189812/