为什么具有单个组的数据帧 groupby 不返回数据帧?

2024-04-20

我怀疑这是我的问题的更简单形式here https://stackoverflow.com/questions/18518077/why-does-pandas-groupby-cut-give-different-form-of-output-with-single-record-inp。 [更新:不幸的是并非如此。]

如果你这样做(在 Pandas 0.11 中):

df = pd.DataFrame([[1,2],[1,3],[2,4]],columns='a b'.split())
print df
g = df.groupby('a').count()
print type(g)
print g

你会得到预期的结果:

   a  b
0  1  2
1  1  3
2  2  4
<class 'pandas.core.frame.DataFrame'>
   a  b
a      
1  2  2
2  1  1

但如果只有一个结果组,您会得到一个非常奇怪的系列:

df = pd.DataFrame([[1,2],[1,3],[1,4]],columns='a b'.split())
...

   a  b
0  1  2
1  1  3
2  1  4
<class 'pandas.core.series.Series'>
a   
1  a    3
   b    3
Name: 1, dtype: int64

但我宁愿结果是一个与此等效的 DataFrame:

print pd.DataFrame([[3,3]],index=pd.Index([1],name='a'),columns='a b'.split())

   a  b
a      
1  3  3

我对如何轻松地从该系列中获得这一点感到困惑(并且不确定为什么我首先会得到它)。


在 pandas 0.12 中,这正是您所要求的。

In [3]: df = pd.DataFrame([[1,2],[1,3],[1,4]],columns='a b'.split())

In [4]: df.groupby('a').count()
Out[4]:
   a  b
a
1  3  3

复制您所看到的内容squeeze=True:

In [5]: df.groupby('a', squeeze=True).count()
Out[5]:
a
1  a    3
   b    3
Name: 1, dtype: int64

如果无法升级,请执行以下操作:

In [3]: df.groupby('a').count().unstack()
Out[3]:
   a  b
a
1  3  3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么具有单个组的数据帧 groupby 不返回数据帧? 的相关文章

随机推荐

  • Sqlite 与 Blazor Wasm (.NET 6) -> System.DllNotFoundException: e_sqlite3

    根据 NET 6 中的新 Blazor WebAssembly 功能 NET 6 中的新 Blazor WebAssembly 功能 Sqlite 与 Blazor Wasm NET 6 gt System DllNotFoundExcep
  • jQuery 通过单击链接来排列 li 顺序

    需要通过点击向上移动或向下移动来改变li位置 div ul li Item1 a class moveUp Move Up a a class moveDown Move Down a li li Item2 a class moveUp
  • 有人可以解释 Blazor 组件标签的各种语法吗

    在我的 razor 文件中 我有这些标签 只是一个示例 它们有效 但我无法向自己解释各种语法背后的原因
  • 来自 Microsoft Graph 的多个更改通知

    每当更新 创建 删除或编辑 事件时 我都尝试从 Microsoft Graph 接收更改通知 我已成功创建订阅 接收通知的 URL 属于 Azure Function 但是 每当我创建或删除事件时 图表都会针对一个特定更改发送多个通知 正如
  • Cocoa 结构体和 NSMutableArray

    我有一个 NSMutableArray 我正在尝试存储和访问一些结构 我该怎么做呢 addObject 给我一个错误 说 addObject 的参数 1 的类型不兼容 这是一个示例 in 是 NSFileHandle array 是 NSM
  • 在 Windows 8/10 上调用静态链接函数每次都会崩溃,但在 Windows 7 上则不然

    问题 我已经建立了https github com reorg pg repack https github com reorg pg repack生成二进制文件的项目 该二进制文件与 postgres 9 6 可再发行组件链接 我使用由
  • 使用 @EmbeddedKafka 时执行 @DirtiesConfig 的正确方法是什么

    我们的项目中有一个 小 问题 无法建立与节点 0 的连接 代理可能不可用 测试运行非常非常长的时间 并且该消息每秒至少记录一次 但我发现 如何摆脱它 请继续阅读 如果配置 注释有不正确的地方 请告诉我 版本优先
  • EXC_BAD_ACCESS 使用 gmaps sdk 1.9.0,Xcode 6.4,在 8.3 设备上运行

    我有 2 个使用 google 地图 sdk 的项目 它们目前位于 Appstore 中 需要注意的事项 通过cocoapods安装的Gmaps sdk版本1 9 0 Xcode 版本 6 4 部署目标 7 1 设备 iPhone 4s 8
  • 将变量从中间件传递到模板

    我是 Django 初学者 到目前为止我学到了传递变量view to template 但现在我需要将变量传递到我的主布局 我可以在视图中的每个页面的定义中传递它 但它的重复太多了 于是我开始学习中间件 我创建了 middlewares p
  • VBA 打开多个工作簿、复制特定数据、删除重复行并将信息粘贴到新工作簿中

    我知道标题不太清楚 但我希望我能在这个描述中更好地解释它 我是 VBA 新手 我需要编写一些执行以下操作的代码 打开特定文件夹中的多个工作簿 并将信息从源工作表 仅一个活动工作表 中间的表复制到新工作簿中的目标 Sheet1 问题 1 表的
  • 有没有办法让 xsd.exe 生成具有“内部”范围的类?

    我有一个 DLL 其中包含一些 XSD 生成的类 不幸的是 XSD exe 将这些类公开 这会导致 缺少公开可见类型或成员 XYZ 的 XML 注释 警告 另外 我不想从我的 DLL 中公开这些类 有没有办法 除了手动编辑生成的 cs 之外
  • 如何通过T-SQL在SQL Server 2008中创建计划作业?

    我想创建一个作业 在一段时间过去后从数据库中删除记录 例如我在新闻表中有一个字段Time Stamp每个月都会有一个 SQL 查询像计划作业一样针对我的数据库运行 并删除时间戳为两个月前的新闻 一般来说 我想删除两个月前或更早的新闻 以免我
  • 克隆与实例化新类

    在这种情况下 克隆是好的做法吗 怎样才能做得更好呢 public ModelCollection startParsing return parseFeed new ModelSpecialEntry public ModelCollect
  • 数据库模式混乱

    当我设计一些类时 我遇到了轻微的术语混乱 在 Sql Server 2005 中 架构 指的是数据库对象的命名空间和组织系统 但对于一般的关系数据库来说 模式 意味着表 字段等的 DDL 设计 如果我的观点是正确的 那么它解释了当我尝试阅读
  • 哪个STL容器?

    我需要一个容器 不一定是 STL 容器 它可以让我轻松执行以下操作 在任意位置插入和移除元素 通过索引访问元素 以任意顺序迭代元素 I used 标准 列表 但它不会让我在任何位置插入 确实如此 但为此我必须迭代所有元素 然后在我想要的位置
  • 将日期从 MySQL 正确导入到 R 中

    我的问题几乎相同正如这个 https stackoverflow com questions 27597932 databse connection using dplyr with date field in databse 简而言之 我
  • 在 NULL 表示为 0 的平台上,编译器是否曾经生成过 NULL <= p 的意外代码

    在 C99 中 平等 似乎从来没有未定义过 它可以产生1如果您意外地将其应用到无效地址 例如 x 1 y可能是偶然的事实 它不会产生未定义的行为 许多 但不是全部 无效地址未定义为根据标准计算 使用 因此p x with p悬空指针 或者
  • CSS 中的“缩放”有什么作用?

    我发现一些 jQuery 插件在他们的 css 规则中使用了 zoom 描述符 我什至查看了 w3c 网站 发现它是用来放大的 但我该如何实际实现它呢 或者我必须定义一些视口 我如何定义这样的视口 或者我对整个事情都错了 是否可以像这样使用
  • Blowfish 在 Java/Scala 中加密并在 bash 中解密

    我正在尝试构建一个工具来解密在 scala 应用程序中加密的 bash 内容 但首先 我必须成功地用两种语言对相同的消息进行编码并使它们相等 给定密码 0123456789abcdef 十六进制 3031323334353637383961
  • 为什么具有单个组的数据帧 groupby 不返回数据帧?

    我怀疑这是我的问题的更简单形式here https stackoverflow com questions 18518077 why does pandas groupby cut give different form of output