Можно ли мутировать DataFrame inplace с заявлением groupby
?Преобразование на месте панды с группой
import pandas as pd
dt = pd.DataFrame({
"LETTER": ["a", "b", "c", "a", "b"],
"VALUE" : [10 , 12 , 13, 0, 15]
})
def __add_new_col(dt_):
dt_['NEW_COL'] = dt_['VALUE'] - dt_['VALUE'].mean()
return dt_
pass
dt.groupby("LETTER").apply(__add_new_col)
LETTER VALUE NEW_COL
0 a 10 5.0
1 b 12 -1.5
2 c 13 0.0
3 a 0 -5.0
4 b 15 1.5
dt
LETTER VALUE
0 a 10
1 b 12
2 c 13
3 a 0
4 b 15
В R data.table можно с помощью оператора, например, :=
dt[, col := ... , by ='LETTER']
Почему не 'ДФ [ 'NEWCOL'] = dt.groupby ('Письмо') [ 'VALUE '] .apply (lambda x: x - x.mean()) '? – Zero
@JohnGalt Есть ли гарантия заказа? –
Да, вы тоже можете это проверить. – Zero