Как обновить исходный кадр данных отфильтрованной группы в python

#python-3.x #group-by #pandas-groupby

Вопрос:

У меня есть простой набор данных, приведенный ниже:

 import numpy as np import pandas as pd  arr = np.array([1, 2, 4, 7, 11, 16, 22, 29, 37, 46]) df = pd.DataFrame({'group': ['A', 'B', 'A', 'B', 'A', 'B', 'A', 'B', 'A', 'B']}) df["target"] = arr  

Я могу обновить group A данные ниже:

 df_groupby_ob = df.groupby('group') df_grain = df_groupby_ob.get_group('A') df_grain["target"] = df_grain["target"] * -1  

Однако я не смог обновить исходный df кадр данных . Можно ли обновить исходный кадр данных, df , после фильтрации с показанными строками:

 df_groupby_ob = df.groupby('group') df_grain = df_groupby_ob.get_group('A')  

Комментарии:

1. Если я вас правильно понимаю, я бы сказал, что вам даже не нужно группироваться. Просто обновите на основе значения столбца группы. df[«цель»].где(~df[«группа»].eq(«A»), df[«цель»]*-1) . Это сохраняет все значения, где gropu не равно A, и обновляется с *-1, где оно равно A.