python列表索引 end start_Pandas:在Pandas数据帧中查找连续索引的startend值

我有一个如下所示的数据帧(main_df):value created_at

0 18.930542 2019-03-04 02:43:08 UTC

1 18.895210 2019-03-04 02:44:09 UTC

2 0.000000 2019-03-04 02:45:09 UTC

3 0.000000 2019-03-04 02:46:10 UTC

4 0.000000 2019-03-04 02:47:11 UTC

5 0.000000 2019-03-04 02:48:12 UTC

6 0.000000 2019-03-04 02:49:13 UTC

7 18.857025 2019-03-04 02:50:14 UTC

8 18.857025 2019-03-04 02:51:14 UTC

9 18.847290 2019-03-04 02:52:15 UTC

10 18.847290 2019-03-04 02:53:17 UTC

11 0.000000 2019-03-04 02:54:17 UTC

12 0.000000 2019-03-04 02:55:19 UTC

13 0.000000 2019-03-04 02:56:19 UTC

14 18.837677 2019-03-04 02:57:20 UTC

我想在“value”列中定位重复零值的部分。我知道如何定位零,只需这样做:

^{pr2}$

这将给我留下以下数据帧(aux_df1):

现在,我想得到的是,我不知道如何,将每个连续索引序列的开始和开始保存到一个名为aux_df2的新数据帧中,并以分钟为单位计算每个连续值序列的开始和结束之间的时间差。我打算用这个来做最后一部分(尽管我想计算每对开始-结束对之间的差):aux_df2['t_diff'] = ['temp_index'].diff().astype('timedelta64[m]')

但第一部分我不知道怎么做。我要找的是把aux_df2做成这样:

有人能帮帮我吗?提前谢谢。在

编辑:在回复@peer时,我是这样生成数据帧的。请注意,上面的快照没有反映时区从UTC到EST的变化。在import pandas as pd

filepath=r'C:\Users\myfile.csv'

main_df=pd.read_csv(filepath)

main_df['created_at']=main_df['created_at'].apply(pd.to_datetime)

main_df['created_at'] = main_df['created_at'].dt.tz_localize('UTC').dt.tz_convert('EST')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值