排序日期和给定日期中的值数量

时间:2019-05-14 18:58:02

标签: python pandas dataframe matplotlib

我正在尝试显示数据框中的图形:

    created_date    unique_key
0   2019    42065237
1   2011    22253407
2   2011    22254169

对于X轴,我希望日期按排序顺序,对于Y轴,我希望每年的唯一键总数。

这是我尝试过的:

plt.figure(figsize=(8,5))
x_data,y_data = (time_vs_heat_complaints_df['created_date'].values,time_vs_heat_complaints_df['unique_key'].values)
plt.plot(x_data,y_data, 'ro')
plt.xlabel('Year')
plt.ylabel('# of Heat/Hot Water Complaints')
plt.show()

这是我的结果,一团糟。

image

对于X轴,我希望日期按排序顺序,对于Y轴,我希望每年的唯一键总数。出于某种原因,它刚刚从1-4开始显示,应该在数十万(y轴)上

我特别需要定义xdata和ydata以获得我的独立变量和因变量来进行预测,在这种情况下答案不起作用,因为这是我使用他的答案所尝试的:

plt.figure(figsize=(8,5))
x_data,y_data = (pluto_df['created_date'].values,pluto_df.groupby('created_date')['HEAT/HOT WATER'].size())
plt.plot(x_data,y_data, 'ro')
plt.xlabel('Year')
plt.ylabel('Complaints')
plt.show()

我收到一个错误

 x and y must have same first dimension, but have shapes (1289842,) and (9,)

1 个答案:

答案 0 :(得分:1)

尝试:

s = df.groupby('created_date').unique_key.size()
x_data, y_data = s.index, s.values

plt.plot(x_data, y_data)
plt.xlabel('Year')
plt.ylabel('# of Heat/Hot Water Complaints')
plt.show()

输出将如下所示:

enter image description here