首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中导入csv时如何防止毫秒舍入

在Python中导入csv时如何防止毫秒舍入
EN

Stack Overflow用户
提问于 2020-03-31 02:29:07
回答 1查看 71关注 0票数 1

以csv为单位的原始时间以字符串形式显示如下

19-01-2 9:00:01.000

19-01-2 9:00:01.500

19-01-2 9:00:02.000

19-01-2 9:00:02.500

19-01-2 9:00:03.000

19-01-2 9:00:03.500

当我使用pd.read_csv时,我注意到毫秒被舍入,并且没有保持500毫秒的增量。

19-01-2 9:00:01.000

19-01-2 9:00:01.000

19-01-2 9:00:02.000

19-01-2 9:00:02.000

19-01-2 9:00:03.000

19-01-2 9:00:03.000

我如何防止这种情况发生?这是正常的吗?

EN

回答 1

Stack Overflow用户

发布于 2020-03-31 03:30:55

看起来,至少在Pandas0.25中,只要您使用datetime64ns数据类型,即使是纳秒也会被保留。

我做了这样一个测试:

  1. 输入字符串:

txt =‘日期,数量2020-01-02 09:00:01.000200001,1 2020-01-02 09:00:01.200030002,2 2020-01-02 09:00:01.250004003,3'''

  • Read the DataFrame:

df = pd.read_csv(io.StringIO(txt),parse_dates=)

结果是:

日期数量02020-01-02 09:00:01.000200001 1 1 2020-01-02 09:00:01.200030002 2 2020-01-02 09:00:01.250004003 3

如您所见,小数点后的所有9位数字都已就位。

  • 打印微秒数:

df.Date.dt.microsecond

结果是:

0 200 1 200030 2 250004名称:日期,dtype: int64

  • 打印纳秒:

df.Date.dt.nanosecond

结果是:

0 1 1 2 2 3名称:日期,数据类型: int64

也许你使用的是一些老版本的Python或Pandas?尝试升级它们,并在您的计算机上重复我的测试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60937105

复制
相关文章

相似问题

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