请看下面的Pandas数据样本。
ID DT InOut
120 2022-12-22-02:12:123 IN
120 2022-12-23-04:12:456 OUT
120 2022-12-26-08:11:125 IN
120 2022-12-30-02:12:126 OUT
首先,我需要将datetime变量的第二部分更改为2位数(例如:2023 - 03 - 03 14:11:43).然后我只需要为InOut = OUT向我的datetime变量添加一秒。
我的dt变量是datetime64 [ns]格式的,我无法为datetime变量创建虚拟数据。
谢谢你的帮助!
import pandas as pd
df = pd.DataFrame({'ID': [120, 120, 120, 120],
'InOut': ['IN', 'OUT', 'IN', 'OUT']})
4条答案
按热度按时间kpbwa7wx1#
您可以使用
strftime()
将datetime变量转换为所需的格式。要将datetime变量转换为所需的格式,您可以执行以下操作:如果你想用
InOut=Out
给datetime增加一秒:knpiaxh12#
将DT列转换为日期时间格式,并将秒截断为两(2)位数,然后在满足条件时使用
.loc
添加一个秒os8fio9y3#
使用
pd.to_datetime
将DT
列调整为有效的日期时间格式,然后-使用pd.Timedelta(seconds=1)
添加1秒:bqf10yzr4#
(1)注我将原始的df转换为更传统的日期时间表示