gpt4 book ai didi

python - matplotlib:将小时字符串转换为 float

转载 作者:行者123 更新时间:2023-12-01 03:58:54 24 4
gpt4 key购买 nike

我正在尝试使用 matplotlib 将以下 csv 数据绘制为 x 轴:

Time
00:00:00
01:00:00
02:00:00
03:00:00
04:00:00
05:00:00
06:00:00
07:00:00
08:00:00
09:00:00
10:00:00
11:00:00
12:00:00
13:00:00
14:00:00
15:00:00
16:00:00
17:00:00
18:00:00
19:00:00
20:00:00
21:00:00
22:00:00
23:00:00

但我不断收到错误:

ValueError: could not convert string to float: '23:00:00'

如何在 matplotlib 中将这些值转换为小时格式?

这是我的代码:

fig = plt.figure(figsize=(15,7))
ax = fig.add_subplot(1,1,1) # row-col-num
# --- line plot data on the Axes
ax.plot(df3['YYYY-MO-DD HH-MI-SS_SSS'], df3['ATMOSPHERIC PRESSURE (hPa) mean'], 'b-', linewidth=2,
label=r'office Phone1')

有什么想法吗?

谢谢!

最佳答案

错误信息

ValueError: could not convert string to float: '23:00:00'

暗示输入之一——可能是 df3['YYYY-MO-DD HH-MI-SS_SSS'] -- 当 ax.plot 时包含字符串期待 float 。

ax.plot但是,也可以接受类似日期时间的对象而不是 float 。所以转换 df3['YYYY-MO-DD HH-MI-SS_SSS'] 就足够了类似日期时间的对象。

使用 pandas,您可以使用 parse_dates 来做到这一点pd.read_csv的参数(假设 df3 是用 pd.read_csv 定义的),或者您可以事后将该列转换为类似日期时间的对象:

date_col = 'YYYY-MO-DD HH-MI-SS_SSS'
df3[date_col] = pd.to_datetime(df3[date_col])
<小时/>

例如,

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

np.random.seed(2016)
date_col = 'YYYY-MO-DD HH-MI-SS_SSS'

df = pd.DataFrame( {date_col: [
'00:00:00', '01:00:00', '02:00:00', '03:00:00', '04:00:00', '05:00:00',
'06:00:00', '07:00:00', '08:00:00', '09:00:00', '10:00:00', '11:00:00',
'12:00:00', '13:00:00', '14:00:00', '15:00:00', '16:00:00', '17:00:00',
'18:00:00', '19:00:00', '20:00:00', '21:00:00', '22:00:00', '23:00:00'],
'foo': np.random.random(24)})
df[date_col] = pd.to_datetime(df[date_col])

fig, ax = plt.subplots()
ax.plot(df[date_col], df['foo'], 'b-', linewidth=2, label='foo')
plt.show()

enter image description here

关于python - matplotlib:将小时字符串转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36947316/

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