Построение графика тренда в Python - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть следующие данные в DataFrame:

+----------------------+--------------+-------------------+
| Physician Profile Id | Program Year | Value Of Interest |
+----------------------+--------------+-------------------+
| 1004777              |     2013     |    83434288.00    |
| 1004777              |     2014     |    89237990.00    |
| 1004777              |     2015     |    96321258.00    |
| 1004777              |     2016     |    186993309.00   |
| 1004777              |     2017     |    205274459.00   |
| 1315076              |     2013     |    127454475.84   |
| 1315076              |     2014     |    156388338.20   |
| 1315076              |     2015     |    199733425.11   |
| 1315076              |     2016     |    242766959.37   |
+----------------------+--------------+-------------------+

Я хочу построить график тренда с годом Программы на оси X и значением интереса на оси Y и различными линиями для каждого идентификатора профиля врача. Каков наилучший способ сделать это?

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Я попробовал несколько вещей и смог реализовать это:

years = df["Program_Year"].unique()

PhysicianIds = sorted(df["Physician_Profile_ID"].unique())

pd.options.mode.chained_assignment = None

for ID in PhysicianIds:
    df_filter = df[df["Physician_Profile_ID"] == ID]
    for year in years:
        found = False
        for index, row in df_filter.iterrows():
            if row["Program_Year"] == year:
                found = True
                break
            else:
                found = False
        if not found:
            df_filter.loc[index+1] = [ID, year, 0]
    VoI = list(df_filter["Value_of_Interest"])
    sns.lineplot(x=years, y=VoI, label=ID, linestyle='-')

plt.ylabel("Value of Interest (in 100,000,000)")
plt.xlabel("Year")
plt.title("Top 10 Physicians")
plt.legend(title="Physician Profile ID")
plt.show()
0 голосов
/ 15 ноября 2018

Два маршрута, которые я бы рассмотрел с этим:

  • Базовый, быстрый, легкий: matplotlib , который будет выглядеть примерно так:
    • установкаон, как pip install matplotlib
    • , используйте его, как import matplotlib.pyplot as plt и этот чит-лист
  • Графически привлекательный, и вы можете оставить свой пандам датафрейм вправов это: Боке

Я надеюсь, что это поможет вам начать!

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