将列标题添加到新的 pandas 数据框中

2023-12-09

我正在使用以前的数据帧创建一个新的 pandas 数据帧.groupby and .size方法。

[in] results = df.groupby(["X", "Y", "Z", "F"]).size()

[out]
    9   27/02/2016  1   N   326
    9   27/02/2016  1   S   332
    9   27/02/2016  2   N   280
    9   27/02/2016  2   S   353
    9   27/02/2016  3   N   177

其行为符合预期,但结果是一个没有列标题的数据框。

This SO问题指出以下内容将列名称添加到生成的数据框中

[in] results.columns = ["X","Y","Z","F","Count"]

然而,这似乎根本没有任何影响。

[out]
        9   27/02/2016  1   N   326
        9   27/02/2016  1   S   332
        9   27/02/2016  2   N   280
        9   27/02/2016  2   S   353
        9   27/02/2016  3   N   177

如果您调用,您所看到的是作为索引的分组列reset_index然后它恢复列名

so

results = df.groupby(["X", "Y", "Z", "F"]).size()
results.reset_index()

应该管用

In [11]:
df.groupby(["X","Y","Z","F"]).size()

Out[11]:
X  Y           Z  F
9  27/02/2016  1  N    1
                  S    1
               2  N    1
                  S    1
               3  N    1
dtype: int64

In [12]:    
df.groupby(["X","Y","Z","F"]).size().reset_index()

Out[12]:
   X           Y  Z  F  0
0  9  27/02/2016  1  N  1
1  9  27/02/2016  1  S  1
2  9  27/02/2016  2  N  1
3  9  27/02/2016  2  S  1
4  9  27/02/2016  3  N  1

此外,您可以通过使用来实现您想要的count:

In [13]:
df.groupby(["X","Y","Z","F"]).count().reset_index()

Out[13]:
   X           Y  Z  F  Count
0  9  27/02/2016  1  N      1
1  9  27/02/2016  1  S      1
2  9  27/02/2016  2  N      1
3  9  27/02/2016  2  S      1
4  9  27/02/2016  3  N      1

你也可以传递参数as_index=False here:

In [15]:
df.groupby(["X","Y","Z","F"], as_index=False).count()

Out[15]:
   X           Y  Z  F  Count
0  9  27/02/2016  1  N      1
1  9  27/02/2016  1  S      1
2  9  27/02/2016  2  N      1
3  9  27/02/2016  2  S      1
4  9  27/02/2016  3  N      1

这通常没问题,但如果您尝试在其列上使用聚合方法,则某些聚合函数会失效。dtypes无法聚合,例如,如果您有strdtypes 并且您决定调用mean例如。

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

将列标题添加到新的 pandas 数据框中 的相关文章

随机推荐

  • 如果文件是在过去一小时内创建的,则从 FTP 下载文件

    我需要从 FTP 上的特定文件夹下载文件 但仅限于创建时间在过去一小时内的文件 所以基本上我需要列出该文件夹中的所有文件 然后仅下载时间戳与执行时间相差超过一小时的文件 关于如何解析 FTP 上文件的时间戳有什么想法吗 我无法使用任何第 3
  • 使用 vanilla Javascript 查找具有部分属性的 DOM 元素

    假设我有一个网站 我想使用循环遍历其 DOM 元素的脚本 并指出这些元素的属性包含指定文本的一部分 我成功创建了一个简单的循环 可以找到 DOM 元素的每个所需属性并从中创建数组 现在我想将数组属性值与其所属的 DOM 元素配对 并且还能够
  • Android 锁定全屏

    Android 可以锁定全屏吗 基本上隐藏吐司 隐藏主页 后退 开关 隐藏通知栏 使其从底部或顶部滑动不起作用 致力于一个将从中受益匪浅的想法 我知道这样做很不好 但它针对的是非常年幼的孩子 他们随机点击 拖动 偶尔会意外地将手机语言更改为
  • 如何停止与 canvas imageData 的 alpha 预乘?

    有没有办法停止画布数据的 Alpha 通道的预乘 或者解决方法 我想生成一个图像 在本例中是一些随机的 rgba 值 并将画布保存为图像 在第二步中 我想使用 imageData 将原始图像与生成的图像进行比较 但是由于生成图像中 rgba
  • 何时在 GUI 应用程序中调用 thread.join

    import wx import json import queue from collections import namedtuple import threading class MyDialog wx Frame def init
  • Sublime Text 构建:找不到指定的文件

    我已经通过 Package Control 安装了 CoffeeScript 插件 当我尝试构建 test coffee 时 它 给了我这个 Error 2 The system cannot find the file specified
  • 在 XZ 平面上拖动对象

    我正在开发一个增强现实应用程序 我希望能够在空间中拖动一个对象 我在 SO 中找到的解决方案存在问题 建议使用projectPoint unprojectPoint 是它们沿着XY plane 我试图使用屏幕上的手指移动作为偏移x and
  • npm run script 导致 Windows Script Host 错误

    我尝试使用 npm 来缩小 javascript 这是我的 package json name name1 version 1 0 0 description scripts minifyjs minifyJs minifycss mini
  • 如何阻止 PHP 中的无限递归函数耗尽所有可用内存并最终导致笔记本电脑崩溃?

    我这里有一个简单的无限递归代码
  • 使用 TokenRegex 以所需格式获取输出

    我正在使用 TokensRegex 进行基于规则的实体提取 它运行良好 但我无法以所需的格式获得输出 以下代码片段为我提供了以下句子的输出 本月早些时候 特朗普针对丰田 威胁要对其实施制裁 如果世界上最大的汽车制造商生产卡罗拉 它将收取高额
  • bash 中的浮点除法

    我正在尝试将用户输入的任何数字转换为小数点后两位 例如 What is the total cost in cents 2345 output 23 45 这是我到目前为止的代码 percentage 20 cannot change nu
  • 从 WPF Web 浏览器静默打印 HTML

    我必须从 WPF 中的 WebBrowser 静默打印 HTML 文档 我已经通过该代码不默默地完成了它 mshtml IHTMLDocument2 doc WebBrowser1 Document as mshtml IHTMLDocum
  • 如何将固定功能材质和光照传递给片段着色器?

    我正在向 OpenGL 2 1 GLSL 1 2 应用程序添加顶点和片段着色器 顶点着色器 version 120 void main void gl Position ftransform gl FrontColor gl Color 片
  • 如何为加载项设置默认浏览器

    我正在尝试为我正在使用的 chrome 插件设置默认浏览器 但默认情况下它始终使用 IE 我该如何改变这个 我假设您正在谈论您的加载项生成新的浏览器窗口 弹出窗口的场景 在 Windows 上 这始终是 Internet Explorer
  • HTML 验证和 ASP.NET Webforms

    我正在尝试 HTML 内置验证属性 遇到的第一个困难是验证属性在表单上下文中工作 IE 如果你想验证两个独立的输入 那么你应该将它们放在两个不同的输入中
  • 是否可以覆盖 Local.config 文件中的 appSettings 和 connectionStrings?

    我们目前覆盖appSettings来自每个开发人员的 Local config 文件中的 web config 但是 我们还需要覆盖连接字符串 因此我们可以访问计算机上的本地副本 而 web config 可能会引用生产服务器 我知道您可以
  • Python:将嵌套列表作为输入?

    处理以下问题的最佳方法是什么 我想让用户输入一个嵌套列表 如下所示 grid input Enter grid 用户将输入如下所示的网格 X O X O X X 问题是我将此输入传递给一个期望输入是嵌套列表的函数 当获取输入网格时 它将是一
  • 如何在汇编中进行 64 位乘 64 位除法?

    如何在 x86 汇编中实现 64 位乘 64 位除法 我已经启用了扩展寄存器 386指示 EDX EAX 中的 64 位值除以 ECX EBX 中的 64 位值的无符号除法 在 32 位 x86 CPU 上 the div操作说明可以将 E
  • [jQuery]在 iFrame 内查找单击

    我有一个带有 iframe 的页面 div div 我需要拦截 iframe 内的点击 我尝试过使用这段代码 但它不起作用
  • 将列标题添加到新的 pandas 数据框中

    我正在使用以前的数据帧创建一个新的 pandas 数据帧 groupby and size方法 in results df groupby X Y Z F size out 9 27 02 2016 1 N 326 9 27 02 2016