您可以调用vectorised
.str方法并在列上链接这些调用,这里我们使用
str.lower和
str.replace:
In [91]:
df.columns = df.columns.str.lower().str.replace('-|,', ' ')
df
Out[91]:
subject id first name last name
0 1 Alex Anderson
1 2 Amy Ackerman
2 3 Allen Ali
另请注意,没有什么能阻止您将单个列表理解中的所有内容组合在一起:
In [93]:
df.columns = [l.lower().replace('-', ' ').replace(',',' ') for l in df.columns]
df
Out[93]:
subject id first name last name
0 1 Alex Anderson
1 2 Amy Ackerman
2 3 Allen Ali
列表理解可能会在如此少量的列上更快:
计时
In [96]:
%timeit [l.lower().replace('-', ' ').replace(',',' ') for l in df.columns]
%timeit df.columns.str.lower().str.replace('-|,', ' ')
100000 loops, best of 3: 5.26 µs per loop
1000 loops, best of 3: 284 µs per loop