Python 按列将函数应用于数据帧

Python 按列将函数应用于数据帧,python,function,pandas,dataframe,multiple-columns,Python,Function,Pandas,Dataframe,Multiple Columns,我有一个函数,我想将它应用于数据帧的某些列。 因此,我希望动态地选择所需的列,然后调用函数,而不是显式地声明列 如何实现以下功能: for column in dataframe: if column.name != 'manager': apply function(): 使用和: 演示: 我想您可以先通过列表理解找到所有列,然后通过func: import pandas as pd df = pd.DataFrame({'A':[1,2,3],

我有一个函数,我想将它应用于数据帧的某些列。 因此,我希望动态地选择所需的列,然后调用函数,而不是显式地声明列

如何实现以下功能:

for column in dataframe:
    if column.name != 'manager':
       apply function():
使用和:

演示:


我想您可以先通过
列表理解
找到所有列,然后通过
func

import pandas as pd

df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6],
                   'C':[7,8,9],
                   'D':[1,3,5],
                   'E':[5,3,6],
                   'F':[7,4,3]})

print (df)
   A  B  C  D  E  F
0  1  4  7  1  5  7
1  2  5  8  3  3  4
2  3  6  9  5  6  3

cols = [col for col in  df.columns if col != 'B']
print (cols)
['A', 'C', 'D', 'E', 'F']

def func(x):
    return x + 1

df[cols] = df[cols].apply(func)

print (df)
   A  B   C  D  E  F
0  2  4   8  2  6  8
1  3  5   9  4  4  5
2  4  6  10  6  7  4
另一个布尔索引解决方案:

cols = df.columns[df.columns != 'B']
print (cols)
Index(['A', 'C', 'D', 'E', 'F'], dtype='object')
import pandas as pd

df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6],
                   'C':[7,8,9],
                   'D':[1,3,5],
                   'E':[5,3,6],
                   'F':[7,4,3]})

print (df)
   A  B  C  D  E  F
0  1  4  7  1  5  7
1  2  5  8  3  3  4
2  3  6  9  5  6  3

cols = [col for col in  df.columns if col != 'B']
print (cols)
['A', 'C', 'D', 'E', 'F']

def func(x):
    return x + 1

df[cols] = df[cols].apply(func)

print (df)
   A  B   C  D  E  F
0  2  4   8  2  6  8
1  3  5   9  4  4  5
2  4  6  10  6  7  4
cols = df.columns[df.columns != 'B']
print (cols)
Index(['A', 'C', 'D', 'E', 'F'], dtype='object')