消除日期时间格式的小数

Eliminate the decimals in a datetime format

提问人:BENJAMÍN IBÁÑEZ 提问时间:10/7/2023 最后编辑:Goku - stands with PalestineBENJAMÍN IBÁÑEZ 更新时间:10/7/2023 访问量:64

问:

我有一个这种格式类型,但数据框中的一些数据具有这种格式类型。如何删除第二种格式类型,以便所有内容都保持第一种格式类型?DataFrame2018-08-13 00:03:502018-08-13 06:34:24.859000.859000

我需要所有数据都采用以下格式?DataFrame2018-08-13 00:03:50

python-3.x 熊猫 日期时间

评论

1赞 pavi2410 10/7/2023
将 datetime 列解析设置为秒
0赞 Maarten Bodewes 10/7/2023
不是熊猫的一部分吗?如果是这样,请正确使用格式并使用 pandas 标签。DataFrameDataFrame
0赞 Maarten Bodewes 10/7/2023
@pavi2410 我认为这不会四舍五入,对吗?

答:

1赞 Goku - stands with Palestine 10/7/2023 #1

首先将时间转换为时间戳:

import pandas as pd
your_time = pd.to_datetime('2018-08-13 06:34:24.859000')

print(your_time)

#Timestamp('2018-08-13 06:34:24.859000')

现在,您可以执行以下操作:

your_time.replace(microsecond=0)

#output
Timestamp('2018-08-13 06:34:24')

对于完整的数据帧:

import pandas as pd

df = pd.DataFrame()
df['time'] = ['2018-08-13 06:34:24.859000', '2018-08-13 06:45:24.859000']


#output

time
0   2018-08-13 06:34:24.859000
1   2018-08-13 06:45:24.859000

df['time'] = pd.to_datetime(df['time'])
df['time'] = df['time'].apply(lambda x: x.replace(microsecond = 0))


#output
    time
0   2018-08-13 06:34:24
1   2018-08-13 06:45:24

文档链接:https://docs.python.org/3/library/datetime.html#datetime.datetime.replace

评论

0赞 FObersteiner 10/9/2023
您不需要并截断日期时间;在这种情况下,只需使用apply.dt.floor("s")