#python #pandas #matplotlib
#python #pandas #matplotlib
Вопрос:
Существует фрейм данных со столбцами даты, типа, цены и местоположения. Необходимо построить графики (каждый — на отдельной картинке) зависимости Цены от даты для каждого типа — это сделано, я получаю 10 графиков:
import pandas as pd
dat = pd.read_csv('ap-northeast-1.csv', parse_dates = True, names=['Date','Type','OS', 'Location', 'Price'])
da = dat[dat.OS == 'Windows']
del da['OS']
date = []
for d in da["Date"]:
d = str(d)
date.append(d[:10])
da["Date"] = date
df = da.loc[da.Type.str.startswith('i')]
(df
.set_index("Date")
.groupby("Type")
.apply(lambda x: x[["Price"]].plot(grid=True, title=x.name)))
Вам также необходимо отобразить эти графики в столбцах с использованием вложенных графиков. Каждый столбец должен содержать графики, связанные с его местоположением (то есть должно быть 20 графиков, которые расположены в столбцах. Количество столбцов зависит от количества «местоположений».). Как это сделать?
Ответ №1:
Groupby является ключевым, просто группируйте по обоим, а затем разрешайте вложенные графики. Это даст вам 20, которые вам нужны.
(df
.set_index("Date")
.groupby(['Type','Location'])
.apply(lambda x: x[["Price"]].plot(grid=True,
title=[x.name],
subplots=True)))
Комментарии:
1. В вашем коде все 20 графиков отображаются в одном столбце, и вам нужно, чтобы графики каждого местоположения были в отдельном столбце.