以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
我如何防止这种情况发生?这是正常的吗?
发布于 2020-03-31 03:30:55
看起来,至少在Pandas0.25中,只要您使用datetime64ns数据类型,即使是纳秒也会被保留。
我做了这样一个测试:
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'''
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?尝试升级它们,并在您的计算机上重复我的测试。
https://stackoverflow.com/questions/60937105
复制相似问题