我终于挣脱了SPSS的束缚,陶醉在Pandas和Python的自由中(我喜欢它)。然而,我试图更清楚地了解Python Lambda函数在Pandas中是如何交互的。它似乎经常出现。这里有一个例子,我希望能澄清这一模糊之处。
从字符串分割创建新 Dataframe 后:
bs = fh['basis'].str.split(',',expand = True)
我想通过在数字头中添加一个“b”来重命名所有变量。
n = list(bs)
for x in n:
bs.rename(columns={x : 'b' + str(x)},inplace = True)
但是我怀疑lambda函数会更好,然而,这不起作用:
bs.rename(columns=lambda x: x = 'b' + str(x), inplace=True)
我原以为lambda是一个函数,所以如果传入一个列标题,我可以在它后面附加一个'b'。但是“=”抛出了一个错误。任何快速的观察都将非常感谢。干杯!
3条答案
按热度按时间kmpatx3s1#
我会使用add_prefix():
cotxawn72#
您可以通过在使用
astype
强制转换为str
之后将列添加到'b'
来更容易地完成此操作:ej83mcc03#
啊!我当然在提交之前就想好了。
当然是答案。等号是多余的,无论“:“后面是函数将返回的还是“等于”。这是正确的想法吗?