gpt4 book ai didi

python - 将日期时间的时间部分转换为秒

转载 作者:太空宇宙 更新时间:2023-11-03 14:01:48 25 4
gpt4 key购买 nike

我是Python新手。我有一列 datatime 数据。现在我想创建一个新列,其中仅包含 datetime 的时间部分(以秒为单位)。

我的第一行数据是2018-08-03 10:53:00,我想在几秒钟内转换10:53:00,例如 39180 想要存储在新专栏中。

我的功能是从给定的datetime对象获取平均时间。日期可能会有所不同,但我只想要平均时间。

最佳答案

您可以使用:

df = pd.DataFrame({
'date': ['2018-08-03 10:53:00','2018-08-03 10:55:00'],
'b': [10, 11]
})

#if necessary convert to datetime
df['date'] = pd.to_datetime(df['date'])
df['new'] = df['date'].dt.hour * 3600 + df['date'].dt.minute * 60 + df['date'].dt.second
print (df)
b date new
0 10 2018-08-03 10:53:00 39180
1 11 2018-08-03 10:55:00 39300

mean = df['new'].mean()
print (mean)
39240.0

编辑:如果想直接表示时间:

df['new'] = df['date'].dt.time
print (df)
b date new
0 10 2018-08-03 10:53:00 10:53:00
1 11 2018-08-03 10:55:00 10:55:00

mean = df['new'].mean()
print (mean)

TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'

但是日期时间的平均值是可能的 - 转换为 ns 中的 unix 时间:

df['new'] = df['date'].values.astype(np.int64)
print (df)
b date new
0 10 2018-08-03 10:53:00 1533293580000000000
1 11 2018-08-03 10:55:00 1533293700000000000

mean = df['new'].mean()
print (mean)
1.53329364e+18

关于python - 将日期时间的时间部分转换为秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49187041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com