【发布时间】:2020-12-04 15:18:54
【问题描述】:
如果列中的时间在上午 1.59 之后,我想在我的列 CutoffSLAII 中添加一天,但是,如果列 FILE_START_TIME 也有一个早于 12:00 的时间,我只想添加一天。如果这两个条件都不满足,则应保留 CutoffSLAII 中的值。
我正在使用的代码确实可以运行,但数据帧中没有任何变化:
从日期时间导入日期时间、时间、时间增量 将熊猫导入为 pd
def add_a_day(row: pd.Series) -> datetime:
if pd.isna(x['CutoffSLAII', 'FILE_START_TIME']):
return x['CutoffSLAII', 'FILE_START_TIME']
tme = x['CutoffSLAII'].time()
tme1 = x['FILE_START_TIME'].time()
if tme < time(12, 0, 0) and tme1 > time(1, 59, 0):
return x['CutoffSLAII'] + timedelta(days=1)
数据:df2['CutoffSLAII'] = df2.apply(add_a_day, axis=1)
我希望添加一天的数据:
FILE_START_TIME 和 CutoffSLAII 都是 Datetime64[ns] dtypes,但是,当我与列中的一个值交互时,它们会作为时间戳返回。
输入:df2.iloc[0]['FILE_START_TIME']
输出:Timestamp('2020-11-02 19:23:47')
数据没有嵌入,因为我没有足够的声望点,很抱歉。
现在的错误信息是:
TypeError:字符串索引必须是整数
【问题讨论】:
标签: python pandas function datetime timedelta