首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从CSV,OutOfBoundsDatetime导入时转换日期:超出界限的纳秒时间戳。熊猫

从CSV,OutOfBoundsDatetime导入时转换日期:超出界限的纳秒时间戳。熊猫
EN

Stack Overflow用户
提问于 2020-07-24 21:45:17
回答 2查看 98关注 0票数 0

我正在从csv导入数据,并尝试将特定日期设置为今天的日期。

如果csv中的数据采用以下格式:

该列中的所有数据都是日期,并且格式完全相同。目前,我用df = pd.read_csv(r'<filapath.csv>)读取了数据。

然后运行此命令,将'7/21/2020‘的所有实例转换为今天的日期:

df['filedate'] = np.where(pd.to_datetime(df['filedate']) == '7/21/2020', pd.Timestamp('now').floor(freq='d'),df['filedate'])

我收到这个错误:pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1-01-14 00:00:00

我不想使用errors='coerce',因为列将始终由实际日期100%填充,稍后我将需要按日期过滤数据帧。csv数据中似乎有一些我看不到的“幽灵”精度。在这种情况下,我不能修改csv列,也不能使用pandas和numpy之外的任何包。

EN

回答 2

Stack Overflow用户

发布于 2020-07-24 21:54:01

...or或.loc

代码语言:javascript
运行
复制
df.loc[df['filedate'] == '7/21/2020', 'filedate'] = pd.Timestamp('now').floor(freq='d')
票数 1
EN

Stack Overflow用户

发布于 2020-07-24 21:51:11

使用.replace()函数。

代码语言:javascript
运行
复制
df['filedate'].replace({'7/21/2020':pd.Timestamp('now').floor(freq='d')})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63074860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档