Thông thường khi sử dụng phương thức .apply()
, một hàm vượt qua một đối số chính xác.Pandas GroupBy: áp dụng một hàm với hai đối số
def somefunction(group):
group['ColumnC'] == group['ColumnC']**2
return group
df.groupby(['ColumnA', 'ColumnB']).apply(somefunction)
Ở đây somefunction
được áp dụng cho mỗi group
, sau đó được trả lại. Về cơ bản tôi đang sử dụng số này example here.
Tôi muốn có khả năng không chỉ định tên cột ColumnC
trước đó. Vượt qua nó như một đối số của somefunction
sẽ làm cho mã linh hoạt hơn.
def somefunction(group, column_name):
group[column_name] == group[column_name]**2
return group
df.groupby(['ColumnA', 'ColumnB']).apply(somefunction)
Có cách nào để thực hiện công việc này không? Tôi không thể vượt qua group
đến somefunction
, bởi vì điều đó được thực hiện một cách kỳ diệu bởi .apply()
ở chế độ nền.
Điều đó dễ hơn dự kiến. Cảm ơn! –
@mischi vui vì tôi có thể giúp. – piRSquared