Python 如何将unix时间戳划分为10分钟间隔?
我有这样的数据Python 如何将unix时间戳划分为10分钟间隔?,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有这样的数据 ID datetime 0 2 2015-01-09 19:05:39 1 1 2015-01-10 20:33:38 2 1 2015-01-10 21:10:00 我已将此日期时间转换为unix时间戳 ID timestamp 0 2 1420830339 1 1 14209220
ID datetime
0 2 2015-01-09 19:05:39
1 1 2015-01-10 20:33:38
2 1 2015-01-10 21:10:00
我已将此日期时间转换为unix时间戳
ID timestamp
0 2 1420830339
1 1 1420922018
2 1 1420924200
我想首先将unix时间戳转换为EST标准,然后将每行压缩为10分钟的间隔。我需要一列来指示这一行属于哪个箱子
我的最小日期时间是2015-01-01 00:00:00,我只有2015年1月1日至31日的数据
如何使用python或pandas实现这一点。使用for binning 10分钟:
df['datetime'] = pd.to_datetime(df['datetime'])
bins = pd.date_range('2015-01-01', '2015-02-01', freq='10T')
df['bins'] = pd.cut(df['datetime'], bins)
df['lab'] = pd.cut(df['datetime'], bins, labels=False)
df['bins_left'] = pd.IntervalIndex(pd.cut(df['datetime'], bins)).left
df['bins_right'] = pd.IntervalIndex(pd.cut(df['datetime'], bins)).right
df['bins_left_unix'] = df['bins_left'].to_numpy().astype(np.int64) // 10**9
df['bins_right_unix'] = df['bins_right'].to_numpy().astype(np.int64) // 10**9
print (df)
ID datetime bins lab \
0 2 2015-01-09 19:05:39 (2015-01-09 19:00:00, 2015-01-09 19:10:00] 1266
1 1 2015-01-10 20:33:38 (2015-01-10 20:30:00, 2015-01-10 20:40:00] 1419
2 1 2015-01-10 21:10:00 (2015-01-10 21:00:00, 2015-01-10 21:10:00] 1422
bins_left bins_right bins_left_unix bins_right_unix
0 2015-01-09 19:00:00 2015-01-09 19:10:00 1420830000 1420830600
1 2015-01-10 20:30:00 2015-01-10 20:40:00 1420921800 1420922400
2 2015-01-10 21:00:00 2015-01-10 21:10:00 1420923600 1420924200
我忘了提到我需要一列来指出这一行也属于哪个十箱。更新了问题。@user_12-您能添加预期的输出吗?让我解释一下。如果我有一个datetime 2015-01-01 00:00:00到datetime 2015-01-01 00:10:00,那么这些时间在中间的行应该属于第一个bin,然后2015-01-01 00:10:00到2015-01-01 00:20:00属于另一个bin。我需要[0,1…]指示垃圾箱,谢谢。让我用我的原始数据检查一下。@user_12-
为什么要把它除以109*代码>-因为默认值为ns
-纳秒