Блок-график почасовых данных в Python временных рядов - PullRequest
0 голосов
/ 04 июля 2019

Как сгруппировать по заданной частоте, скажем, ежечасно, и создать набор диаграмм для одного столбца в наборе данных временных рядов?

range = pd.date_range('2015-01-01', '2015-12-31', freq='1min')
df = pd.DataFrame(index = range)

# Average speed in miles per hour
df['speed'] = np.random.randint(low=0, high=60, size=len(df.index))
# Distance in miles (speed * 0.5 hours)
df['distance'] = df['speed'] * 0.25 
# Cumulative distance travelled
df['cumulative_distance'] = df.distance.cumsum()
df.head()

Data sample

Как сгруппировать по заданной частоте, скажем, ежечасно, и создать набор диаграмм для скорости? Пример вывода приведен ниже.

Sample Expected output image

Ответы [ 2 ]

2 голосов
/ 04 июля 2019

IIUC, вам нужно, что дает вам коробку скорости в течение каждого часа дня:

#You need to reshape your dataframe with hours as column headers
df.set_index(df.index.hour, append=True)['speed'].unstack().plot.box()

Выход:

enter image description here

1 голос
/ 04 июля 2019

Вы также можете использовать морского происхождения:

sns.boxplot(x=df.index.hour, y=df.speed)

Выход:

enter image description here

...