我能够解决这个问题,但想知道为什么lambda
不起作用。
我正在尝试用下划线替换列名中的空格:
df.columns = df.columns.apply(lambda x: replaceable(' ','_'))
为什么这不起作用?
然而,在下面我得到了它的工作:
df.columns = df.columns.str.replace(' ','_')
为什么我无法申请lambda
以及如何申请?
答案 0 :(得分:0)
@JAV已在评论中说过 - df.columns
没有方法.apply()
:
In [307]: df.columns.apply(lambda x: print(x))
...
skipped
...
AttributeError: 'Index' object has no attribute 'apply'
AFAIK最惯用的解决方案是你的:
df.columns = df.columns.str.replace(' ','_')
或
df = df.rename(columns=lambda x: x.replace(' ', '_'))