У меня есть DataFrame ...Панды установленное значение в GroupBy
>>> df = pd.DataFrame({
... 'letters' : ['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c'],
... 'is_min' : np.zeros(9),
... 'numbers' : np.random.randn(9)
... })
is_min letters numbers
0 0 a 0.322499
1 0 a -0.196617
2 0 a -1.194251
3 0 b 1.005323
4 0 b -0.186364
5 0 b -1.886273
6 0 c 0.014960
7 0 c -0.832713
8 0 c 0.689531
Я хотел бы установить «» is_min седловины 1, если «число» является минимальное значение по колонке «букв». Я попытался это и чувствую, что я близко ...
>>> df.groupby('letters')['numbers'].transform('idxmin')
0 2
1 2
2 2
3 5
4 5
5 5
6 7
7 7
8 7
dtype: int64
Я с трудом соединяя точки, чтобы установить Валя из «is_min» до 1.
Спасибо. Кажется, что это работает без повторных значений, а затем вызывает уникальный. df.loc [df.groupby ('letters') ['numbers']. idxmin(). values, 'is_min'] = 1 –