python - 带有“大小”的 Pandas 数据透视表聚合给出错误“‘系列’对象没有属性‘列’”
问题描述
我有以下数据框:
df = pd.DataFrame({'foo': [1, 3, 3, 4],
'bar': [2, 5, 8, 9],
'abc': [3, 7, 2, 4]})
当我尝试使用命令时:
df.pivot_table('bar', 'foo', aggfunc='size')
我得到错误:
AttributeError:“系列”对象没有属性“列”
奇怪的是,当我同时聚合几列时,问题就消失了:
df.pivot_table(['bar', 'abc'], 'foo', aggfunc='size')
但是如果我添加“dropna=False”参数,它会再次出现:
df.pivot_table(['bar', 'abc'], 'foo', aggfunc='size', dropna=False)
预期输出(我使用第二个命令成功获得):
foo
1 1
3 2
4 1
dtype: int64
顺便说一句,我故意使用“大小”而不是“计数”,因为我想知道包括NaN 值在内的组大小(即使在这个最小的示例中没有显示它,因为显然 NaN 的存在不是触发错误所必需的)。
我的熊猫版本是 0.25.1。谁能解释这种行为?
解决方案
推荐阅读
- blazor - 检查是否所有子组件都被渲染
- sql - 在 Oracle SQL 中计算多列
- junit4 - 在 JUnitParams 中使用 @TestCaseName 和 @FileParameters
- javascript - PrintToPdf 特定帧
- jquery - 服务器上的数据表加载资源失败:服务器响应状态为 500(内部服务器错误)
- docker - 在 Jupyter docker 中,无法连接到内核
- github - 使用 GitHub 存储库在 AWS 上创建管道
- reactjs - React input field onKeyPress problem of calling other function
- android - 无法将字符串从 Activity 传递到 Fragment
- javascript - 如何使用角度事件发射器修复模态切换