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

У меня есть пандас dataFrame, который содержит значения нескольких параметров и меток времени, которые находятся на расстоянии 15 минут. Параметры могут содержать значения NaN (np.nan). Моя цель - найти общее количество доступных значений в месяц для каждого параметра, то есть общее количество значений в этом месяце, которые не равны 0 или np.nan.

Я попытался превратить все действительные значения (значения, которые не равны нулю или np.nan) в 1; и все недопустимые значения в 0. Таким образом, я могу просто суммировать все значения параметра за месяц, и я получу общее количество доступных значений за этот месяц.

df.fillna(0)

for col in selected_parameters:
    df.loc[df[col] > 0, col] = 1

Генерирует df, имеющий 1 для действительных и 0 для недопустимых значений.

Чего я не могу сделать, так это создать новый фрейм данных, в котором метки времени будут разделяться на месяц (вместо 15 минут), а для каждого месяца у меня может быть общее число доступных значений за этот месяц.

1 Ответ

0 голосов
/ 10 января 2019

Использование группового режима с суммой в качестве функции агрегатора

df.groupby([df.index.dt.year, df.index.dt.month]).agg('sum')

Предполагается, что ваши метки времени находятся в индексе.

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