【发布时间】:2018-04-17 10:14:32
【问题描述】:
我想跨列将字符串值映射到整数。我已经编写了自定义代码。但是,当我调用代码并传递我的列表时,它什么也没做。有没有我遗漏的语法?
def encode_cols(myList = [], *args):
for col in myList:
if col == 'Lot Shape':
df[col] = df[col].map({'Reg':4, 'IR1':3, 'IR2':2, 'IR3':1})
if col == 'Utilities':
df[col] = df[col].map({'AllPub':4, 'NoSwer':3, 'NoSeWa':2, 'ELO':1})
if col == 'Land Slope':
df[col] = df[col].map({'Gtl':3, 'Mod':2,'Sev':1})
lst = ['Lot Shape','Utilities','Land Slope']
encode_cols(lst)
【问题讨论】:
-
我想你忘了
return df -
好的,马上试试。我将 return 添加到每个单独的行而不是将它们添加到末尾。
-
@Zoozoo 你的代码在这里引发
NameError。