【发布时间】:2019-12-10 12:59:00
【问题描述】:
我定义了一个函数 z。当我传递一个列表时它可以工作,但是当我传递一个系列时(即使在转换为列表之后)它会返回错误的答案。我对函数 z 的输入参数必须是一个系列。如何解决?
list1 = [np.nan, 14975, 98121]
series1 = pd.Series([np.nan,14975,98121])
z(series1.tolist())
['0', '0', '0']
z(list1)
['0', '1', '98121']
我的 z 函数是,
def z(each):
zipcode_list = []
for i in each:
try:
if zipcodes.is_real(str(i)):
zip_code = str(i)
else:
zip_code = str(1)
except:
zip_code = str(0)
zipcode_list.append(zip_code)
return zipcodes
【问题讨论】:
-
它们都返回零给我,列表没有函数
is_real,所以它们都应该评估为zip_code = str(0) -
您是否尝试过导入 'zipcodes' 模块,否则它将始终打印异常。
-
anaconda 基础环境中没有 zipcodes 模块,如果您的代码中有一个名为 zipcodes 的导入,则在您的 z 函数中重命名变量
zipcodes -
谢谢,已更改