简体   繁体   English

熊猫:有一个datetime列,需要将每个单元格减去4秒

[英]Pandas: have a datetime column, need to substract 4 seconds to each cell

My dataframe looks like this: 我的数据框如下所示:

            time           price
0   2019-05-20 09:56:45 0.00127650
1   2019-05-20 09:56:30 0.00127650
2   2019-05-20 09:56:15 0.00127650
3   2019-05-20 09:56:00 0.00127650
4   2019-05-20 09:55:45 0.00127650
5   2019-05-20 09:55:30 0.00127650
6   2019-05-20 09:55:15 0.00127650
7   2019-05-20 09:55:00 0.00127650
8   2019-05-20 09:54:45 0.00127650

When I run df.info()' I have the following: 当我运行df.info()'我有以下内容:

RangeIndex: 20 entries, 0 to 19
Data columns (total 2 columns):
time     20 non-null datetime64[ns]
price    20 non-null object
dtypes: datetime64[ns](1), object(1)

Any idea on how to easily substract 4 seconds to each value? 关于如何轻松地将每个值减去4秒的想法吗? Transform the column to timestamp? 将列转换为时间戳? thanks! 谢谢!

Tou can subtract Timedelta or DateOffset : 您可以减去TimedeltaDateOffset

df['time'] -= pd.Timedelta(4, unit='s')

Or: 要么:

df['time'] -= pd.offsets.DateOffset(seconds=4)

print (df)
                 time     price
0 2019-05-20 09:56:41  0.001277
1 2019-05-20 09:56:26  0.001277
2 2019-05-20 09:56:11  0.001277
3 2019-05-20 09:55:56  0.001277
4 2019-05-20 09:55:41  0.001277
5 2019-05-20 09:55:26  0.001277
6 2019-05-20 09:55:11  0.001277
7 2019-05-20 09:54:56  0.001277
8 2019-05-20 09:54:41  0.001277

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM