python - 大熊猫中的聚合集
问题描述
我有一张这样的桌子:
col1 col2
a {...}
a {...}
b {...}
c {...}
c {...}
c {...}
哪里col2
是由集合组成的。我需要通过集合的col1
并col2
集来聚合。
到目前为止,我最好的尝试是:
def set_union(*sets):
return reduce(lambda a, b: a.union(b), sets)
mytable.groupby('col1', as_index=False)['equivalente_new'].agg(set_union)
产生:
ValueError:必须产生聚合值
有没有人有任何解决方案?
解决方案
删除函数签名中的 splat
def set_union(sets):
return reduce(lambda a, b: a.union(b), sets)
mytable.groupby('col1', as_index=False).agg(set_union)
col1 col2
0 a {1, 2}
1 b {3}
2 c {4, 5, 6}
我更喜欢这个(没有减少)
def set_union(sets):
return set().union(*sets)
mytable.groupby('col1', as_index=False).agg(set_union)
推荐阅读
- widget - 将 iPython Jupyter Notebook 小部件保存为 PNG/PDF/JPG/GIF
- node.js - 请在 linux for windows 上的 electron-packager 之后手动安装 sqlite3 包
- payment-gateway - PIN 块转换失败
- css - 页面加载图像背景时白色闪烁
- aix - lsconf 在 AIX 上不返回结果
- php - PHP 文件上传:只要无法访问,我存储任何文件是否安全?
- reactjs - React 组件中的 OpenLayers Draw 模块不会更新地图
- react-native - Redux 坚持使用 React 导航
- javascript - 如何检测chrome扩展是否安装在用户浏览器中
- opencv - 对预编译的 opencv 2.4 的未定义引用