Сохранять значения фрейма данных на основе критериев входа и выхода, запускаемых ежемесячно - PullRequest
0 голосов
/ 23 сентября 2018

DataFrame df имеет столбец date вместе со многими другими столбцами со значениями float.Некоторые из этих значений могут быть случайными.Кроме того, date может быть непостоянным (т. Е. Между ними может отсутствовать несколько дней).Для каждого столбца без даты:
1) В 1-й день каждого месяца, если значение больше entryV, сохраните все его будущие значения до # 2 ниже.
2) Теперь в 1-й день любого последующего месяца, если значение ранее сохраненных значений после # 1 упадет ниже exitV, тогда все будущие значения в этом столбце составят NaN, если только они не достигнут entryV в 1-й деньснова любого будущего месяца.

Пример кадра данных df ниже с entryV=41 и exitV=20:

import pandas as pd
import numpy as np
from datetime import datetime, timedelta
np.random.seed(100)

df = pd.DataFrame(np.random.randint(0,1000,size=(100, 10)).astype(float)/10, columns=list('ABCDEFGHIJ'))
df = df.mask(np.random.choice([True, False], size=df.shape))
df['date'] = [datetime.today() + timedelta(days=x) for x in range(0, 100)]
# df['month'] = df['date'].dt.month
# df['is_same_month'] = df['month'].diff().eq(0)
# df.drop('month', inplace=True, axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...