通常在使用.apply()
方法時,會傳遞一個函數,該函數只需要一個參數。Pandas GroupBy:應用帶兩個參數的函數
def somefunction(group):
group['ColumnC'] == group['ColumnC']**2
return group
df.groupby(['ColumnA', 'ColumnB']).apply(somefunction)
這裏somefunction
被應用於每個group
,然後將其返回。基本上我使用這個example here。
我希望有能力事先未指定列名稱ColumnC
。將它作爲參數somefunction
傳遞會使代碼更加靈活。
def somefunction(group, column_name):
group[column_name] == group[column_name]**2
return group
df.groupby(['ColumnA', 'ColumnB']).apply(somefunction)
有什麼辦法,使這項工作?我不能通過group
到somefunction
,因爲在後臺神奇地完成了.apply()
。
這比預期的更容易。謝謝! –
@mischi很高興我能幫到你。 – piRSquared