如何在数据框中使用lambda
我解决了这个问题,但我想知道为什么 lambda
不起作用。
我想把列名中的空格替换成下划线:
df.columns = df.columns.apply(lambda x: replaceable(' ','_'))
为什么这样不行呢?
不过,下面这个我就能成功了:
df.columns = df.columns.str.replace(' ','_')
为什么我不能用 lambda
,我该怎么用呢?
相关问题:
- 暂无相关问题
1 个回答
0
正如@JAV在评论中提到的,df.columns
这个东西是没有.apply()
这个方法的:
In [307]: df.columns.apply(lambda x: print(x))
...
skipped
...
AttributeError: 'Index' object has no attribute 'apply'
据我所知,最常用的解决办法要么是你提到的:
df.columns = df.columns.str.replace(' ','_')
要么是:
df = df.rename(columns=lambda x: x.replace(' ', '_'))