Создание новых строк и добавление их в пустой фрейм данных - PullRequest
1 голос
/ 30 мая 2019

У меня есть фрейм данных (df1) дат начала и окончания, как это.

Start Date      End Date 
1875-01-01      1877-09-30
1881-07-01      1886-03-31
1888-01-01      1889-06-30
1890-10-01      1890-12-31
.
.
.
2016-10-01      2018-12-31

У меня есть другой набор данных (df2), который состоит из ежедневных временных рядов. Например,

Date          Value 
1875-01-01    7.21
1875-01-02    7.23
1875-01-03    7.22
1875-01-04    7.12
.
.
.
2018-12-31    3.12

Я установил даты в качестве индекса для df2.

Я пытаюсь создать таблицу статистики на основе df2, используя df1. Сначала я создал пустой фрейм данных для добавления значений. Например,

outputtable = pd.DataFrame(columns = ('Max','Min','Ave'))
for i in df1.index:
    try:
        df3 = df2.loc[df1['Start Date'][i]:df1['End Date'][i]]
        minimum = df3['Value'].min()
        maximum = df3['Value'].max()
        average = df3['Value'].mean()
        outputtable[-1]= [minimum, maximum, average]

    except:
        pass

Я использовал try, потому что некоторые даты в df1 не в df2. В этом случае я хочу, чтобы код игнорировался и переходил к следующему набору дат.

Я хочу, чтобы код проходил через каждую строку df1 и выполнял статистику (min, max и mean) и помещал их в выходную таблицу для дальнейших вычислений. Пока приведенный выше код не работает. Помощь будет высоко ценится.

Желаемый вывод

Start Date      End Date     Min  Max  Ave 
1875-01-01      1877-09-30   7    8    7.2
1881-07-01      1886-03-31   1    4    2.2
1888-01-01      1889-06-30   2    6.5  3
1890-10-01      1890-12-31   3    5    4.2
.
.
.
2016-10-01      2018-12-31   1    2    1.7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...