У меня есть CSV
файл с данными, которые выглядят следующим образом:
Time Pressure
1/1/2017 0:00 5.8253
... ...
3/1/2017 0:10 4.2785
4/1/2017 0:20 5.20041
5/1/2017 0:30 4.40774
6/1/2017 0:40 4.03228
7/1/2017 0:50 5.011924
12/1/2017 1:00 3.9309888
Я хочу сделать месячную гистограмму (НОРМАЛИЗОВАННАЯ) для данных о давлении и, наконец, записать графики в PDF.Я понимаю, что мне нужно использовать опции Groupby
и Numpy.hist
, но я не уверен, как их использовать.(Я новичок в Python).Пожалуйста помоги!
КОД 1:
n = len(df) // 5
for tmp_df in (df[i:i+n] for i in range(0, len(df), n)):
gb_tmp = tmp_df.groupby(pd.Grouper(freq='M'))
ax = gb_tmp.hist()
plt.setp(ax.xaxis.get_ticklabels(),rotation=90)
plt.show()
plt.close()
Это дает мне следующее сообщение об ошибке:
ValueError: range() arg 3 must not be zero
КОД 2:
df1 = df.groupby(pd.Grouper(freq='M'))
np.histogram(df1,bins=10,range=None,normed=True)
Это возвращает другоесообщение об ошибке:
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Я попробовал вышеуказанные коды, но получил эти ошибки.Не уверен, правильно ли я это использую.