如何在Dataframe中使用lambda

时间:2017-04-28 19:37:22

标签: python pandas dataframe lambda

我能够解决这个问题,但想知道为什么lambda不起作用。

我正在尝试用下划线替换列名中的空格:

df.columns = df.columns.apply(lambda x: replaceable(' ','_'))

为什么这不起作用?

然而,在下面我得到了它的工作:

df.columns = df.columns.str.replace(' ','_')

为什么我无法申请lambda以及如何申请?

1 个答案:

答案 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(' ', '_'))