尝试将熊猫系列数据传递到date_range功能时,无法将字符串转换为时间戳错误

拉胡尔

我正在尝试将pandas系列数据传递给date_range乐趣,并且遇到错误以下提示,如何在pandas中将字符串类型转换为时间戳

import pandas as pd
import numpy as np
from pandas.tseries.offsets import CustomBusinessHour
from pandas.tseries.holiday import USFederalHolidayCalendar

data = {
    'start': ['2019-08-23 00:01:46.697000',
              '2018-10-29 19:01:10.887000',
              '2018-10-22 17:42:24.467000'],
    'end': ['2019-08-26 17::00.830000',
            '2018-11-27 09:31:39.967000',
            '2018-11-28 18:33:35.243000' ]
}
df = pd.DataFrame(data)

bh = CustomBusinessHour(calendar=USFederalHolidayCalendar(), start='00:01', end='23:59')

def f(x):
    idx = pd.date_range(start=x.start, end=x.end, freq= bh)
    mask = ~((idx.dayofweek == 0) & (idx.hour <= 7))
    return len(idx[mask])

df['Hours_diff'] = df.apply(f, axis=1)
print(df.head(10))

在pandas._libs.tslibs.timestamps.Timestamp中,文件“ pandas / _libs / tslibs / timestamps.pyx”,第748行。pandas._libs.tslibs.conversion.convert_to_tsobject中的第288行的文件“ pandas / _libs / tslibs / conversion.pyx”,pandas._libs.tslibs中的第487行“ pandas / _libs / tslibs / conversion.pyx”。 conversion.convert_str_to_tsobject ValueError :(“无法将字符串转换为时间戳”,在索引0处发生)

M_S_N

IIUC,您需要在应用函数之前将日期列转换为datetime,请尝试以下操作:

pd.to_datetime(df['start'])
pd.to_datetime(df['end'])

bh = CustomBusinessHour(calendar=USFederalHolidayCalendar(), start='00:01', end='23:59')

def f(x):
    idx = pd.date_range(start=x.start, end=x.end, freq= bh)
    mask = ~((idx.dayofweek == 0) & (idx.hour <= 7))
    return len(idx[mask])

df['Hours_diff'] = df.apply(f, axis=1)
print(df.head(10))

输出:

                        start                         end  Hours_diff
0  2019-08-23 00:01:46.697000  2019-08-26 17:00:00.830000          34
1  2018-10-29 19:01:10.887000  2018-11-27 09:31:39.967000         426
2  2018-10-22 17:42:24.467000  2018-11-28 18:33:35.243000         574

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法将字符串转换为时间戳

将日期字符串转换为时间戳

将字符串转换为时间戳

将字符串[]转换为时间戳

GoCQL:将字符串转换为时间戳

将字符串转换为时间戳

Firebase将字符串转换为时间戳

将字符串转换为时间戳python

熊猫的日期范围为yyyy-ww返回“无法将字符串转换为时间戳”

熊猫:将“字符串”列转换为时间戳

尝试将纪元代码字段(字符串类型)转换为时间戳

将日光节约时间字符串转换为时间戳会产生错误的结果

Pyspark列:将字符串格式的数据转换为时间戳格式

PySpark数据帧将异常的字符串格式转换为时间戳

将字符串转换为时间戳并拆分数据

将时间戳字符串转换为时间戳整数php

Python 日期时间索引 - 无法删除日期 - ValueError:无法将字符串转换为时间戳

熊猫时间戳-无法将arg转换为时间错误

SAS当从CSV加载数据时,如何将字符串转换为时间?

如何将时间字符串转换为时间戳

仅将时间字符串转换为时间戳

RethinkDB-将导入的MySQL时间戳字符串转换为时间对象

将数据帧中的字符串值转换为时间戳并存储在Hive中

Pyspark - 将字符串转换为时间戳 - 获取空值

使用Pyspark将列从字符串转换为时间戳

Apache Hive:如何将字符串转换为时间戳?

将字符串日期数组转换为时间戳

如何将字符串转换为时间戳以进行比较?

BigQuery - 使用默认值将字符串转换为时间戳