【发布时间】:2018-08-31 06:37:53
【问题描述】:
我正在尝试对数据进行一些分析。我得到了 csv 文件,并将其转换为 pandas 数据框。数据看起来像这样。它有几列,但我试图将 x 轴绘制为日期列。 .
熊猫数据框看起来像这样
print (df.head(10)
cus-id date value_limit
0 10173 2011-06-12 455
1 95062 2011-09-11 455
2 171081 2011-07-05 212
3 122867 2011-08-18 123
4 107186 2011-11-23 334
5 171085 2011-09-02 376
6 169767 2011-07-03 34
7 80170 2011-03-23 34
8 154178 2011-10-02 34
9 3494 2011-01-01 34
我正在尝试绘制日期数据,因为同一日期有多个值。为此,我试图将 x-asis 刻度绘制为日期。因为日期列中的最小日期是 2011-01-01,最大日期是 2012-04-20。
我试过这样的
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import datetime
import matplotlib.dates as mdates
df = pd.read_csv('rio_data.csv', delimiter=',')
print (df.head(10))
d = []
for dat in df.date:
# print (dat)
d.append(datetime.strptime(df['date'], '%Y-%m-%d'))
days = dates.DayLocator()
datemin = datetime(2011, 1, 1)
datemax = datetime(2012, 4, 20)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.xaxis.set_major_locator(days)
ax.set_xlim(datemin, datemax)
ax.set_ylabel('Count values')
但是我收到了这个错误。
AttributeError: 'DataFrame' object has no attribute 'date'
谁能帮我将 x 轴绘制为日期列。我会很感激。
【问题讨论】:
-
您必须将数据框索引设置为日期时间列。见此链接:stackoverflow.com/questions/40815238/…
-
@W.Dodge 我会试一试的。非常感谢
-
@W.Dodge 我将日期列设置为索引,但是值太多,x 轴看起来像一条黑线。我在下面添加图表
-
对于拥挤的轴,您可以将文本垂直于 x 轴。您还可以设置图形大小以提供更多空间。我正在写一个可能有帮助的答案。
-
@W.Dodge 非常感谢您的帮助
标签: python pandas numpy matplotlib