"pandas datetime conversion to num"中的问题 [英] problems in "pandas datetime convert to num"

查看:110
本文介绍了"pandas datetime conversion to num"中的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用熊猫读取csv文件进行一些分析.但是返回的类型是pandas.core.series.Series,无法使用命令matplotlib.dates.date2num将其转换为num.下面是我的代码:

I use pandas to read a csv file to do some analysis. But the returned type is pandas.core.series.Series, which can not be converted to num using the command matplotlib.dates.date2num. Below is my code:

import pandas as pd
import numpy as np
from bokeh.plotting import figure, output_file, show
import matplotlib.dates as mdates
import time
import matplotlib.pyplot as plt

AAPL = pd.read_csv(
    "http://ichart.yahoo.com/table.csvs=AAPL&a=0&b=1&c=2009&d=0&e=1&f=2010",
    parse_dates=['Date']
)

x = AAPL['Date']
y = AAPL['Close']
print type(x)
x = mdates.date2num(x)

z4 = np.polyfit(x, y, 6)
p4 = np.poly1d(z4)
xx = np.linspace(x.min(), x.max(), 100)
dd = mdates.num2date(xx)
plt.plot(dd,p4(xx))

命令print type(x)返回pandas.core.series.Series.该x = mdates.date2num(x)返回错误为:AttributeError: 'numpy.datetime64' object has no attribute 'toordinal'.

The command print type(x) returns pandas.core.series.Series. This one x = mdates.date2num(x) returns the error as: AttributeError: 'numpy.datetime64' object has no attribute 'toordinal'.

任何人都可以向我说明这个问题吗?

Any one can shed a light on me for this issue?

推荐答案

使用x.astype(datetime)转换为datetime.

from datetime import datetime
x = mdates.date2num(x.astype(datetime))

z4 = np.polyfit(x, y, 6)
p4 = np.poly1d(z4)
xx = np.linspace(x.min(), x.max(), 100)
dd = mdates.num2date(xx)
plt.plot(dd,p4(xx))

这篇关于"pandas datetime conversion to num"中的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆