#python #pandas #matplotlib
#python #панды #matplotlib
Вопрос:
У меня есть фрейм данных pandas. Столбцы, head и dtypes такие, как показано ниже:
print sorted_results.dtypes
print sorted_results[['coefficients']].head()
0 object
coefficients float64
dtype: object
coefficients
62 2.432853
70 2.187059
19 1.804636
68 1.507075
130 1.120488
Я хочу построить гистограмму, используя matplot lib, поэтому
plt.barh(range(len(sorted_results)), sorted_results[['coefficients']])
выдает следующее:
ValueError Traceback (most recent call last)
<ipython-input-17-1d344a50d686> in <module>()
1
----> 2 plt.barh(range(len(sorted_results)), sorted_results[['coefficients']])
/Users/sram/anaconda/lib/python2.7/site-packages/matplotlib/pyplot.pyc in barh(bottom, width, height, left, hold, **kwargs)
2665 ax.hold(hold)
2666 try:
-> 2667 ret = ax.barh(bottom, width, height=height, left=left, **kwargs)
2668 finally:
2669 ax.hold(washold)
/Users/sram/anaconda/lib/python2.7/site-packages/matplotlib/axes/_axes.pyc in barh(self, bottom, width, height, left, **kwargs)
2245
2246 patches = self.bar(left=left, height=height, width=width,
-> 2247 bottom=bottom, orientation='horizontal', **kwargs)
2248 return patches
2249
/Users/sram/anaconda/lib/python2.7/site-packages/matplotlib/__init__.pyc in inner(ax, *args, **kwargs)
1817 warnings.warn(msg % (label_namer, func.__name__),
1818 RuntimeWarning, stacklevel=2)
-> 1819 return func(ax, *args, **kwargs)
1820 pre_doc = inner.__doc__
1821 if pre_doc is None:
/Users/sram/anaconda/lib/python2.7/site-packages/matplotlib/axes/_axes.pyc in bar(self, left, height, width, bottom, **kwargs)
2085 edgecolor=e,
2086 linewidth=lw,
-> 2087 label='_nolegend_'
2088 )
2089 r.update(kwargs)
/Users/sram/anaconda/lib/python2.7/site-packages/matplotlib/patches.pyc in __init__(self, xy, width, height, angle, **kwargs)
640 self._x = float(xy[0])
641 self._y = float(xy[1])
--> 642 self._width = float(width)
643 self._height = float(height)
644 self._angle = float(angle)
ValueError: could not convert string to float: coefficients
Коэффициенты, похоже, имеют правильный тип данных. Я озадачен тем, почему я здесь делаю неправильно
Комментарии:
1. Похоже, он пытается преобразовать имя вашего столбца
coefficients
в float. Что произойдет, если вы используетеsorted_results[['coefficients']].values
в своем сюжете команду?2. черт возьми. Спасибо, ты прав, Крис. Буду рад отметить это как правильный ответ, если вы напишете его