gpt4 book ai didi

python - TypeError : strptime() argument 1 must be string, 不 float

转载 作者:行者123 更新时间:2023-11-28 22:26:04 26 4
gpt4 key购买 nike

早上好!

我有一系列具有相关日期的事件。事件日期作为一系列字符串值存储在我已加载到 Python 中的数据框中的列中。数据框包含其他具有值的列。我想将“事件”列中的值转换为日期时间对象,将它们存储在列表中,然后使用 matplotlib 绘制该列表以创建时间序列。

我的数据框是这样的:

         date         value_1    event        other_event
37 07/02/2015 265.09 07/02/2015 NaN
38 08/02/2015 278.59 08/02/2015 NaN
156 06/06/2015 146.07 06/06/2015 NaN
180 30/06/2015 133.56 30/06/2015 NaN
243 01/09/2015 280.27 01/09/2015 01/09/2015

Python 告诉我列数据是 Name: event, dtype: object,我认为这意味着它包含字符串值。我的代码中还有 df.event.apply(str) 行,我认为它会将事件列中的值转换为字符串值。

然后我有这段代码:

FMT = '%d/%m/%Y'
event_list = []

for i in range(0, len(event)):
event_list.append(datetime.datetime.strptime(event[i], FMT))

然而,这一行返回一个错误:

Traceback (most recent call last):

File "<ipython-input-39-e778a465e858>", line 2, in <module>
event_list.append(datetime.datetime.strptime(event[i], FMT))

TypeError: strptime() argument 1 must be string, not float

任何关于我哪里出错的建议都将不胜感激。

最佳答案

要使用 matplotlib 绘制有问题的数据框,您可以先使用 pandas.to_datetime 将有问题的列转换为日期时间。

u = u"""i         date         value_1    event        other_event
37 07/02/2015 265.09 07/02/2015 NaN
38 08/02/2015 278.59 08/02/2015 NaN
156 06/06/2015 146.07 06/06/2015 NaN
180 30/06/2015 133.56 30/06/2015 NaN
243 01/09/2015 280.27 01/09/2015 01/09/2015"""

import io
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv(io.StringIO(u), delim_whitespace=True)
df["event"] = pd.to_datetime(df["event"], format="%d/%m/%Y")

plt.plot(df["event"], df["value_1"])
plt.gcf().autofmt_xdate()
plt.show()

enter image description here

关于python - TypeError : strptime() argument 1 must be string, 不 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45100262/

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