在python中将datetimestamp转换为时间

2024-04-25 19:39:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python的新手,正在寻求帮助。你知道吗

我已经导入了一个csv和我的数据,其中一列有一个日期时间戳。作为数据帧,它被读取为类型对象,例如20.4.2018 07:57:00

如何将该列转换为不带日期的时间(或者从只显示时间的日期时间戳创建一个新列),以便根据时间绘制图表。你知道吗

谢谢你。你知道吗

滑石


Tags: csv数据对象类型图表时间绘制新手
3条回答

如果你的df是这样的:

        date_time_info  value
0  2010.01.01 07:57:00      1
1  2010.01.01 07:58:00      2
2  2010.01.01 07:59:00      3

使用此选项:

df['date_time_info'] = pd.to_datetime(df['date_time_info']).dt.strftime('%H:%M:%S')

输出:

  date_time_info  value
0       07:57:00      1
1       07:58:00      2
2       07:59:00      3

编辑

要进行绘图,可以这样做:

import matplotlib.pyplot as plt
import matplotlib.dates as mdates

df['date_time_info'] = pd.to_datetime(df['date_time_info'])
fig, ax = plt.subplots(1)
fig.autofmt_xdate()
plt.plot(df['date_time_info'], df['value'], linestyle='None', marker='.', markersize=10)
xfmt = mdates.DateFormatter('%H:%M:%S')
ax.xaxis.set_major_formatter(xfmt)
plt.show()

输出:

enter image description here

您可以直接使用熊猫to_datetime

dt = pd.to_datetime("20.4.2018 07:57:00", format="%d.%m.%Y %H:%M:%S")
time_only = dt.time()

优点是to_datetime是矢量化的,因此可以直接将其应用于整个索引/列。你知道吗

你可以使用^{} from ^{} module

>>> import datetime
>>> datetime.datetime.strptime("20.4.2018 07:57:00", "%d.%m.%Y %H:%M:%S")
datetime.datetime(2018, 4, 20, 7, 57)

相关问题 更多 >