How to apply a function to multiple columns in Pandas
本问题已经有最佳答案,请猛点这里访问。
我有一堆柱子,大熊猫需要打扫。我已经写了一个函数来做那个清理。我不知道如何将同一个函数应用于多个列。以下是我的尝试:
1 | df["Passengers","Revenue","Cost"].apply(convert_dash_comma_into_float) |
但我有钥匙错误。
如@chrisz指出的那样,使用双括号[[]
这里有一个MVCE:
1 2 3 4 5 6 7 8 | df = pd.DataFrame(np.arange(30).reshape(10,-1),columns=['A','B','C']) def f(x): #Clean even numbers from columns. return x.mask(x%2==0,0) df[['B','C']] = df[['B','C']].apply(f) print(df) |
产量
1 2 3 4 5 6 7 8 9 10 11 12 13 | A B C 0 0 1 0 1 3 0 5 2 6 7 0 3 9 0 11 4 12 13 0 5 15 0 17 6 18 19 0 7 21 0 23 8 24 25 0 9 27 0 29 ? |