Как я могу просмотреть список элементов и создать графики временных рядов в Python - PullRequest
0 голосов
/ 08 ноября 2019

Вот пример данных, с которыми я работаю WellAnalyticalData Я бы хотел просмотреть каждое название лунки и создать диаграмму временных рядов для каждого параметра с датой выборки на оси x изначение по оси Y. Я не думаю, что хочу субплоты, я просто ищу отдельные участки каждого аналита для каждой лунки. Я использовал панд, чтобы попытаться сгруппировать по имени, а затем попытаться построить, но это, похоже, не тот путь. Я довольно новичок в Python, и я думаю, что мне также трудно понять, как построить оператор цикла. Я использую Python 3.x и использую библиотеку matplotlib для генерации графиков.

1 Ответ

0 голосов
/ 08 ноября 2019

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

    import pandas as pd
    import matplotlib.pyplot as plt
    %matplotlib inline

    df = pd.DataFrame({'WellName':['A','A','A','A','B','B','C','C','C'],
                 'SampleDate':['2018-02-15','2018-03-31','2018-06-07','2018-11-14','2018-02-15','2018-11-14','2018-02-15','2018-03-31','2018-11-14'],
               'Parameter':['Arsenic','Lead','Iron','Magnesium','Arsenic','Iron','Arsenic','Lead','Magnesium'],
               'Value':[0.2,1.6,0.05,3,0.3,0.79,0.3,2.7,2.8]
              })

    for well in df.WellName.unique():
        temp1 = df[df.WellName==well]
        for param in temp1.Parameter.unique():
            fig = plt.figure()
            temp2 = temp1[temp1.Parameter==param]
            plt.scatter(temp2.SampleDate,temp2.Value)
            plt.title('Well {} and Parameter {}'.format(well,param))
...