Плотность заговора с использованием морской волны - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь построить график плотности почасового спроса: data

«hr» означает разные часы, «cnt» означает спрос.

Я знаю, как построить график плотности, например:

sns.kdeplot(bike['hr'])

Однако это работает только тогда, когда спрос на разные часы неизвестен.Таким образом я могу считать каждый час как его требование.Теперь я знаю количество запросов каждого часа, как я могу построить график плотности таких данных?

1 Ответ

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

График плотности предназначен для демонстрации оценки распределения.Чтобы построить график, показывающий плотность почасового спроса, мы действительно ожидаем увидеть множество образцов спроса с отметками времени, то есть по одной строке на выборку.Тогда график плотности будет иметь смысл.

Но в типе данных здесь, где спрос ('cnt') регулярно отбирается и агрегируется за этот период выборки (час), график плотности не имеет прямого значения.Но гистограмма как гистограмма имеет смысл, используя часы в качестве корзин.

Ниже я покажу, как использовать функции панд для создания такого сюжета - очень просто.Для справки я также покажу, как мы могли бы построить график плотности посредством своего рода реконструкции «оригинальных» образцов.

df = pd.read_csv("../data/hour.csv") # load dataset, inc cols hr, cnt, no NaNs

# using the bar plotter built in to pandas objects
fig, ax = plt.subplots(1,2)
df.groupby('hr').agg({'cnt':sum}).plot.bar(ax=ax[0]) 

# reconstructed samples - has df.cnt.sum() rows, each one containing an hour of a rental.
samples = np.hstack([ np.repeat(h, df.cnt.iloc[i]) for i, h in enumerate(df.hr)])

# plot a density estimate
sns.kdeplot(samples, bw=0.5, lw=3, c="r", ax=ax[1])

# to make a useful comparison with a density estimate, we need to have our bar areas 
# sum up to 1, so we use groupby.apply to divide by the total of all counts.
tot = float(df.cnt.sum())
df.groupby('hr').apply(lambda x: x['cnt'].sum()/tot).plot.bar(ax=ax[1], color='C0')  

distribution estimates

Спрос на велосипеды ночью кажется низким ... Но также очевидно, что они, вероятно, используются для поездок на работу,с пиками в часы 8 утра и 5-6 вечера.

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