Составьте гистограмму из серии панд - PullRequest
0 голосов
/ 30 октября 2018

Я хочу сделать гистограмму из серии панд (prior_fails), но я продолжаю получать следующее ValueError:

ValueError: view limit minimum -36814.8560105 is less than 1 and is an 
invalid Matplotlib date value. This often happens if you pass a non-datetime 
value to an axis that has datetime units

Вот как я называю гистограмму

plt.hist(prior_fails)
plt.ylabel('Frequency')
plt.xlabel('Days of Failure (%)')

предыдущая ошибка - это серия со следующим индексом:

prior_fails.index
Out[85]: 
Index([u'prior110', u'prior113', u'prior118', u'prior141', u'prior144',
   u'prior16', u'prior217', u'prior223', u'prior245', u'prior29',
   u'prior352', u'prior360', u'prior370', u'prior438', u'prior55',
   u'prior59', u'prior60', u'prior68', u'prior74', u'prior88'],
  dtype='object')

И содержание:

prior_fails
Out[86]: 
prior110    13.962170
prior113    10.861125
prior118    21.304131
prior141    11.309109
prior144    11.363863
prior16     14.479841
prior217    10.403186
prior223    14.201095
prior245     7.974116
prior29     17.401692
prior352     9.860627
prior360    12.339472
prior370    16.207068
prior438    16.381284
prior55     20.587357
prior59     10.452962
prior60     15.828771
prior68     16.769537
prior74     16.918865
prior88      9.805874
dtype: float64

Любая помощь будет принята с благодарностью. Я довольно новичок в питоне. Спасибо!

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Что ж, я не получаю никакой ошибки при построении гистограммы с помощью matplotlib или pandas (для построения которой используется сам matplotlib).

import pandas as pd

data = {'ind': ['prior110', 'prior113', 'prior118', 'prior141', 'prior144', 'prior16', 'prior217', 'prior223', 'prior245', 'prior29', 'prior352', 'prior360', 'prior370', 'prior438', 'prior55', 'prior59', 'prior60', 'prior68', 'prior74', 'prior88'],
        'val': [13.96217, 10.861125, 21.304131, 11.309109, 11.363863, 14.479841, 10.403186, 14.201095, 7.974116, 17.401692, 9.860627, 12.339472, 16.207068, 16.381284, 20.587357, 10.452962, 15.828771, 16.769537, 16.918865, 9.805874]}

prior_fails = pd.DataFrame(data, columns=['ind', 'val'])

prior_fails.set_index('ind', inplace=True)

prior_fails

enter image description here

# with pandas
prior_fails.hist()
plt.ylabel('Frequency')
plt.xlabel('Days of Failure (%)')
plt.title('Histogram')

enter image description here

# with matplotlib
import matplotlib.pyplot as plt
plt.hist(prior_fails.val)
plt.ylabel('Frequency')
plt.xlabel('Days of Failure (%)')

enter image description here

Если вы все еще получаете сообщение об ошибке, возможно, вы можете попробовать %matplotlib inline непосредственно перед построением графика. Это изменит бэкэнд, который использует matplotlib, на inline. Иногда бэкэнд по умолчанию может быть поврежден или поврежден по любой причине, поэтому вы можете попробовать изменить бэкенд, чтобы увидеть, не является ли это причиной проблемы. Есть и другие бэкэнды, такие как qt5, agg и т. Д. Итак, если это также не решит вашу проблему, возможно, вы могли бы попробовать некоторые из этих бэкэндов.

0 голосов
/ 30 октября 2018

Чтобы составить гистограмму серии, я обычно вызываю .hist() непосредственно для серии, которая использует matplotlib за кадром:

import pandas as pd
import numpy as np

data = pd.Series(np.random.randn(1000))

data.hist(bins = 50)

Предоставление:

enter image description here

Это то, что вы ищете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...