我有一个如下所示的数据帧(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')