Создание условного l oop в Numpy / Pandas - PullRequest
0 голосов
/ 02 апреля 2020

Абсолютный ньюб ie здесь ....

У меня есть набор данных со списком данных о расходах 1 Я хотел бы создать al oop, чтобы определить даты в который человек тратит больше, чем в предыдущий день, а также тратит больше, чем на следующий день. При этом я хотел бы либо напечатать дату и сумму (расходы), либо создать новый столбец с надписью true / false. Должен ли я использовать Numpy или Pandas?

Я думал о чем-то вроде: сегодня = я вчера = я-1 и завтра = я + 1 ... и затем приступаю к созданию oop

1 Ответ

0 голосов
/ 02 апреля 2020

Вы ищете что-то вроде этого:

# sample data
np.random.seed(4)
df = pd.DataFrame({'Date': pd.date_range('2020-01-01', '2020-01-10'),
                   'Name': ['Some Name', 'Another Name']*5,
                   'Price': np.random.randint(100,1000, 10)})

# groupby name 
g = df.groupby('Name')['Price']

# create a mask to filter your dataframe where the current price is grater than the price above and below
mask = (g.shift(0) > g.shift(1)) & (g.shift(0) > g.shift(-1))
df[mask]

        Date          Name  Price
3 2020-01-04  Another Name    809
4 2020-01-05     Some Name    997
7 2020-01-08  Another Name    556
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...