首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将每个第一个匹配行中的列值设置为0

将每个第一个匹配行中的列值设置为0
EN

Stack Overflow用户
提问于 2020-01-29 21:17:03
回答 1查看 163关注 0票数 1

我正在尝试检测时间戳之间的差值低于某个阈值的时间序列。为此,我将时间戳列表转换为秒,并测量每个时间戳之间的差异。我已经编写了执行此操作的代码,但问题是,当我测量日期之间的差异时,每天第一行的时间差值应该为零。因此,下面数据框中的值86390应为0。这只是一个人为的例子。对于多个分组,如何将每个分组中的第一个条目设置为0?

代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd

arr= []
df = pd.DataFrame(
    {'date': ['2019-01-01 00:02:48.714000' , '2019-01-01 00:02:58.714000' , '2019-01-02 00:02:48.714000' , '2019-01-02 00:04:48.714000'],
     'id': [1 , 2 , 3 , 4],

    })
df['date'] = pd.to_datetime(df['date'])

for d in df['date'] : 
    arr.append(d.timestamp())

df.sort_values(by=['date'])
df['TIME_IN_SEC'] = arr
df['TIME_IN_SEC_SHIFT'] = df.TIME_IN_SEC.shift(1)
df['TIME_DIFF'] = df["TIME_IN_SEC"] - df["TIME_IN_SEC_SHIFT"]

list_values = []

for g in df.groupby(pd.Grouper(key='date',freq='D')) : 
    list_values.append(sum(g[1]['TIME_DIFF']) / len(g[1]))

df

渲染:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-30 01:39:51

要将每天的第一行设置为零,您可以按日期列进行分组,但提取实际的日期值,然后聚合到“第一”行。为此,为“id”列创建一个系列。(我假设它们是唯一的值。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
id_filt = df.groupby(df.date.dt.date).first()['id']

然后使用loc只返回具有'id‘值的行,然后将列设置为零。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df.loc[df["id"].isin(id_filt.values), ["TIME_IN_SEC_SHIFT", "TIME_DIFF"]] = 0

                     date  id   TIME_IN_SEC  TIME_IN_SEC_SHIFT  TIME_DIFF
0 2019-01-01 00:02:48.714   1  1.546301e+09       0.000000e+00        0.0
1 2019-01-01 00:02:58.714   2  1.546301e+09       1.546301e+09       10.0
2 2019-01-02 00:02:48.714   3  1.546387e+09       0.000000e+00        0.0
3 2019-01-02 00:04:48.714   4  1.546387e+09       1.546387e+09      120.0

当然,您可以将这些组合在一起以获得:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df.loc[
    df["id"].isin(df.groupby(df.date.dt.date).first()["id"].values),
    ["TIME_IN_SEC_SHIFT", "TIME_DIFF"],
] = 0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59975706

复制
相关文章
如何用TensorFlow和Swift写个App识别霉霉?
在很多歌迷眼里,尤其是喜欢乡村音乐的人,“霉霉”Taylor Swift是一位极具辨识度也绝对不能错过的女歌手。在美国硅谷就有一位非常喜欢 Taylor Swift 的程序媛 Sara Robinson,同时她也是位很厉害的 APP 开发者。喜爱之情难以言表,于是利用机器学习技术开发了一款iOS 应用,可以随时随地识别出 Taylor Swift~~~
猿哥
2019/07/25
12.1K0
ios touchesBegan不触发
今天简单写了一个touchesBegan,发现无法触发,点击无效,网上找了半天没有效果。 最终发现问题是uiimageview需要开启交互:
全栈程序员站长
2022/09/15
6860
ios touchesBegan不触发
【干货】手把手教你用苹果Core ML和Swift开发人脸目标识别APP
【导读】CoreML是2017年苹果WWDC发布的最令人兴奋的功能之一。它可用于将机器学习整合到应用程序中,并且全部脱机。CoreML提供的机器学习 API,包括面部识别的视觉 API、自然语言处理 API 。苹果软件主管兼高级副总裁 Craig Federighi 在大会上介绍说,Core ML 致力于加速在 iPhone、iPad、Apple Watch 等移动设备上的人工智能任务,支持深度神经网络、循环神经网络、卷积神经网络、支持向量机、树集成、线性模型等。本文将带你从最初的数据处理开始教你一步一步的
WZEARW
2018/04/12
14.9K0
【干货】手把手教你用苹果Core ML和Swift开发人脸目标识别APP
GCloud的设计目的
提高游戏服务器端逻辑的开发效率 游戏服务器端有三个常用的典型功能,几乎每个游戏都要反复实现的。而这几个功能,都会符合一些最佳建模和最佳实践: 客户端拉取服务器数据:有命令模式和RPC这两中常见的建模。
韩伟
2018/03/05
2.6K0
GCloud的设计目的
PHP date_create() 函数
实例 返回一个新的 DateTime 对象,然后格式化日期: <?php $date=date_create("2016-09-25"); echo date_format($date,"Y/m/d"
用户1448800
2021/08/24
4930
createmutex函数参数含义_pthread_create函数
CreateMutex函数的作用是找出当前系统是否已经存在指定进程的实例,如果没有则创建一个互斥体。
全栈程序员站长
2022/11/10
5380
create_function()函数结合usort()函数getshell
create_function()会创建一个匿名函数(lambda样式)。此处创建了一个叫lambda_1的函数,在第一个echo中显示出名字,并在第二个echo语句中执行了此函数。
h0cksr
2023/05/17
2710
WPF 调用 InvalidateVisual 不触发 OnRender 的原因
我昨天和头像大人在解决一个坑,发现调用了 InvalidateVisual 的时候,不会触发 OnRender 方法。那么在什么时候会触发 OnRender 方法,在什么时候不会触发
林德熙
2020/03/12
2.2K0
函数与触发器
在mysql里支持很多的函数,函数就如java的方法一般,都会有一个返回值,函数帮助我们完成sql语句无法做到的事情,而且数据库是可以进行数据库编程的,所以也会有流程控制语句,不过一般来讲程序员不需要使用到那么复杂的函数组合和流程控制语句。那些都是DBA数据库管理员需要干的事情,程序员只需要了解掌握一些必须和经常使用的函数和控制语句即可。
端碗吹水
2022/01/12
8960
函数与触发器
UITextView 手势触发 TouchesBegan 函数
前几天做了个手势可以改变文章字体大小的功能。开始,在当前view中添加一个UITextView ,然后添加- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event函数,可怎么也触发不了,在网上找了些资料,说得也不是很清楚,今天把它总结下。
全栈程序员站长
2022/09/16
1.3K0
SQL基础【十九、触发器】(不建议使用触发器的原因)
触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。
红目香薰
2022/11/28
1.1K0
微信小程序上拉触底事件函数onReachBottom不触发的解决方案
在app.json或者本页的json文件中配置onReachBottomDistance属性,区别在于全局还是只在本页生效
peng_tianyu
2022/12/15
7.5K0
jenkins 配置使用 gitlab push 后触发构建
发表于2018-09-072019-01-01 作者 wind 为jenkins安装插件 Gitlab Plugin 在 jenkins 的 构建任务 中配置 “构建触发器” ,勾选 Build when a change is pushed to GitLab. 后面提供的那个 URL 是用来在 gitlab 中配置的 Hook URL,点击高级可以设置 secret token、在 Allowd Branches中可以设置响应哪些分支的 push 在 gitlab 的项目设置中 integrati
前Thoughtworks-杨焱
2021/12/07
6570
PHP date_create_from_format() 函数
date_create_from_format() 函数返回根据指定格式进行格式化的新的 DateTime 对象。
用户1448800
2021/08/24
1.2K0
在两个半公有云上实现 Github Webhook
Service Mesher 社区牵头启动 Istio 文档翻译工作之后,为降低维护工作量,我们开发了一个 Github Webhook 项目,用 Github Issue 的方式对社区翻译工作流程提供自动化支持。同时也开发了一个 Chatbot 来完成任务的维护工作。
崔秀龙
2019/07/23
9800
如何使用内核API函数 proc_create?
看到一个null pointer dereference的demo使用了这个函数。
Laikee
2022/04/25
1.5K0
定时触发函数的Python实现
定时触发器在生产环境经常用到,比如说定时load一段活动配置,定时做清理存储动作,定时检查进程运行健康状态,定时上报事件日志等。
mariolu
2021/01/28
1.8K0
input动态赋值后怎么触发change事件 原
但是当我们给元素赋值时并不会触发上面的2种事件,如果我们想赋值后触发上面的事件,可以采用下面的方法
tianyawhl
2019/04/04
8.4K0
腾讯云云函数添加触发器
不是发了个使用腾讯云函数续费EUserv免费IPv6VPS教程嘛!感觉太麻烦了,然后就写了这篇是专门设置定时运行云函数脚本教程。
回忆大大
2021/09/08
2.1K0
jQuery 双击事件(dblclick)时,不触发单击事件(click)
在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click)。即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click)。 先看一下点击事件的执行顺序:
飞奔去旅行
2019/06/13
5.3K0

相似问题

gcloud firestore导入在任何场景下都会触发云函数吗?

15

gcloud Firestore导出不导出子集合

111

addTarget函数在addGestureRecognizer函数触发后不触发

10

Firestore函数触发器不会触发

10

algolia firestore函数不会触发

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文