मुझे बस इससे भी परेशानी हो रही थी। मुझे लगता है कि चूंकि आप तारीखों के साथ काम कर रहे हैं, आप कालानुक्रमिक क्रम को संरक्षित करना चाहते हैं (जैसे मैंने किया।)
फिर वर्कअराउंड है
import matplotlib.pyplot as plt
counts = df['date'].value_counts(sort=False)
plt.bar(counts.index,counts)
plt.show()
कृपया, यदि किसी को बेहतर तरीके से पता हो तो कृपया बोलें।
संपादित करें: ऊपर जीन्स के लिए, यहां डेटा का एक नमूना है [मैं यादृच्छिक रूप से पूर्ण डेटासेट से नमूना लेता हूं, इसलिए तुच्छ हिस्टोग्राम डेटा।]
print dates
type(dates),type(dates[0])
dates.hist()
plt.show()
आउटपुट:
0 2001-07-10
1 2002-05-31
2 2003-08-29
3 2006-06-21
4 2002-03-27
5 2003-07-14
6 2004-06-15
7 2002-01-17
Name: Date, dtype: object
<class 'pandas.core.series.Series'> <type 'datetime.date'>
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-38-f39e334eece0> in <module>()
2 print dates
3 print type(dates),type(dates[0])
----> 4 dates.hist()
5 plt.show()
/anaconda/lib/python2.7/site-packages/pandas/tools/plotting.pyc in hist_series(self, by, ax, grid, xlabelsize, xrot, ylabelsize, yrot, figsize, bins, **kwds)
2570 values = self.dropna().values
2571
-> 2572 ax.hist(values, bins=bins, **kwds)
2573 ax.grid(grid)
2574 axes = np.array([ax])
/anaconda/lib/python2.7/site-packages/matplotlib/axes/_axes.pyc in hist(self, x, bins, range, normed, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, **kwargs)
5620 for xi in x:
5621 if len(xi) > 0:
-> 5622 xmin = min(xmin, xi.min())
5623 xmax = max(xmax, xi.max())
5624 bin_range = (xmin, xmax)
TypeError: can't compare datetime.date to float