Python - Pandas:选择每组的第一个观察结果

2023-12-14

我想使用以下命令将我以前的 SAS 代码改编为 Pythondataframe框架。 在 SAS 中,我经常使用这种类型的代码(假设列按 group_id 排序,其中 group_id 取值 1 到 10,其中每个 group_id 有多个观察值):

data want;set have;
by group_id;
if first.group_id then c=1; else c=0;
run;

所以这里发生的是我为每个 id 选择第一个观察结果并创建一个新变量c这需要价值1 and 0对于其他人。数据集如下所示:

group_id c
1        1  
1        0
1        0
2        1
2        0
2        0
3        1
3        0
3        0

我怎样才能在Python中使用dataframe?假设我从group_id仅矢量。


如果您使用的是 0.13+,您可以使用cumcount分组方法:

In [11]: df
Out[11]: 
   group_id
0         1
1         1
2         1
3         2
4         2
5         2
6         3
7         3
8         3

In [12]: df.groupby('group_id').cumcount() == 0
Out[12]: 
0     True
1    False
2    False
3     True
4    False
5    False
6     True
7    False
8    False
dtype: bool

您可以强制数据类型为 int 而不是 bool:

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

Python - Pandas:选择每组的第一个观察结果 的相关文章

随机推荐

  • FMX - Trayicon 消息处理

    我在使用 FMX XE3 Windows 设置托盘图标时遇到问题 我使用的代码可以在无数线程中找到 但我没有得到图标工作的消息处理 为了说明这一点 我创建了一个测试应用程序 它在 FormCreate 中设置 TrayIcon 数据并使用按
  • 伪元素中是什么使伪元素成为伪元素?

    在我的另一个问题中CSS 中的 伪 是什么意思 我得到了这个答案 伪元素是行为类似于元素但不是元素的东西 是什么使得伪元素不是元素 伪元素不在 dom 中 这就是它不是元素的原因 它是由 CSS 创建的元素 伪元素无法被各种技术看到或操纵
  • 使两个重叠的 div 都可点击?

    是否可以制作两个重叠的 div 并且都可以点击 我已将 div 附加到两个容器 container and container2 他们的风格一模一样 只是有一个不同flex direction column 其中之一是flex direct
  • 使用 pyodbc 从 WSL2 连接到 Windows 上的 SQL Server - 连接超时

    我正在尝试从 WSL2 连接到 Windows 上的 SQL 服务器 但收到连接超时错误 我正在使用这段代码 import pyodbc server DESKTOP LFOSSEF database sportsanalytics use
  • 如何因不活动而注销用户

    纯服务器端 PHP 每次用户提交表单时 我都会更新数据库中的 上次活动 时间 我想进行定期检查并强制注销非活动用户以释放许可证 我该怎么做呢 我是否还应该将会话 ID 存储在数据库中 然后销毁会话 这将为另一个用户释放许可证 当第一个用户最
  • 对齐捕获的深度和 RGB 图像

    之前有过提问 here here and here 与我的问题相关 但是我的问题有一个不同的方面 我在之前提出的任何问题中都没有看到过 我使用 Kinect 深度传感器获取了用于研究的数据集 该数据集采用 png 图像格式 用于特定时刻的深
  • Swagger-ui 与 Spring 安全性

    我有一个带有身份验证服务的简单 REST 应用程序 我尝试向其中添加 swagger 和 swagger ui 但我只能看到我的端点 v2 api docs In swagger ui html我只看到端点组 但无法扩展任何列表 在 chr
  • 本地化 (l10n):为我的 mozilla 插件设置默认语言

    我正在开发一个 Mozilla 插件并实现 l10n 我的问题是 如何为我的插件设置默认语言 当我的插件不支持语言时 它会切换到默认语言 当 Mozilla Firefox 的语言改变时 插件会改变它的语言环境吗 如何更改我的 Firefo
  • 图像周围的 Silverlight 文本

    我正在尝试将文本包裹在图像周围 就像使用 html float 属性一样 有没有办法在 silverlight 3 中实现这一点 Thanks 我不久前解决了这个问题 据我所知 确实没有什么好方法 这会起作用 尽管只是很痛苦 为了简化解释
  • 如何配置 PyCharm 在没有 ^space 的情况下自动完成代码?

    When typing in PyCharm I used to automatically get code completion suggestions without having to hit Ctrl Space I must h
  • 没有提升的 WCF wsdualhttpbinding 客户端

    我创建了一个 Windows 服务 服务器 和一个使用 WCF wsdualhttpbinding 回调功能的 WPF 客户端 两个软件之间的所有内容都可以正常工作 但我遇到的问题是客户端需要以管理员权限运行才能工作 这是可以理解的 因为它
  • 适用于 VB6 和 .net 应用程序的最佳 IPC

    在我们的应用程序 文档管理系统 中 我们应该收到屏幕更改的通知 或通知其他程序屏幕更改 以便使两个应用程序查看相同的数据 一个是订单履行应用程序 另一个是订单履行应用程序原始传真的文档查看器 履行应用程序是用 vb6 编写的 文档管理器是用
  • SQL Server 文件名和版本[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我很幸运能够成为一台服务器的管理员 但我不知道这台服务器上有多少个版本的sql server 当我打开Microsoft SQL Server文件时 有一些名为80 90 100 1
  • 线性渐变在 IE 11 中不起作用

    我有一个 css 规则 可以在 chrome firefox 中正常工作 并且曾经在 IE 中工作 现在我看似有效的 css 不起作用了 s tour border radius 5px margin 0 auto width 250px
  • Java HttpClient - 通过代理发布文件

    我尝试使用代理从我的网络应用程序调用外部网站 此外 还需要在此外部网站上执行 POST 请求 我正在使用 tomcat7 org apache httpcomponents 4 3 4 spring 在没有代理的情况下进行跟踪是有效的 我得
  • dropwizard 应用程序中的配置更改以与 React browserHistory 配合使用

    我有一个react应用程序运行在dropwizard服务器 这bundle js在 ui 上提供 当我打开 ui 上的 url 并导航应用程序 并转到 ui content 时 它工作正常 但是当我尝试刷新特定页面 例如 app conte
  • 在 ssrs 中显示 10 行的最大值

    我有一份报告 其中我想显示 10 名具有最高薪水的员工数据 我想通过 SSRS 来完成此操作 请帮助我 请通过 SSRS 而不是 SSMS 来完成 提前致谢 我假设您有一个数据集 每个员工一行 按工资降序排序 您可以申请一个TOP N过滤到
  • 如何在 Swift 中使用 CTFontCopyCharacterSet() 获取字体的所有字符?

    如何获取字体的所有字符CTFontCopyCharacterSet 在斯威夫特 对于 macOS 在实施该方法时出现了该问题OSX CGGlyph 到 UniChar用斯威夫特回答 func createUnicodeFontMap Get
  • 禁用的文本框丢失视图状态

    我根据所选的下拉菜单动态生成表单 该表格由字段组成 十进制值的数据输入 几个文本字段 必须在末尾添加所有小数值并用该值更新 Total TextBox 总计文本框被禁用 当用户输入值后单击表单上的 保存 按钮时 除了禁用的文本框之外 整个表
  • Python - Pandas:选择每组的第一个观察结果

    我想使用以下命令将我以前的 SAS 代码改编为 Pythondataframe框架 在 SAS 中 我经常使用这种类型的代码 假设列按 group id 排序 其中 group id 取值 1 到 10 其中每个 group id 有多个观