Python 错误:';int';对象没有属性';拆分';
我有以下数据Python 错误:';int';对象没有属性';拆分';,python,pandas,regression,Python,Pandas,Regression,我有以下数据 df3[~df3['total_sqft'].apply(is_float)].head(10) 在上面的数据中,我在total_sqft列中有3067-8156这样的值,我试图使用下面的代码找到范围内最小值和最大值的平均值,但这给我带来了一个错误 def convert_sqft_to_num(x): tokens = x.split('-') if len(tokens) == 2: return (float(tokens[0])+floa
df3[~df3['total_sqft'].apply(is_float)].head(10)
在上面的数据中,我在total_sqft列中有3067-8156这样的值,我试图使用下面的代码找到范围内最小值和最大值的平均值,但这给我带来了一个错误
def convert_sqft_to_num(x):
tokens = x.split('-')
if len(tokens) == 2:
return (float(tokens[0])+float(tokens[1]))/2
try:
return float(x)
except:
return None
df4 = df3.copy()
df4.total_sqft = df4.total_sqft.apply(convert_sqft_to_num)
df4 = df4[df4.total_sqft.notnull()]
df4.head(2)
错误消息
AttributeError: 'int' object has no attribute 'split'
谁能帮我更正一下密码吗
问候,
Bharath Vikas您的函数应该处理字符串,但是您输入了一个整数,它在第一条语句x中失败。拆分('-')看起来您的
total_sqft
列中的数据格式不尽相同。如果条目不是x-y
格式,则您对拆分操作结果的假设将不正确。请尝试制作一个完全可复制的示例,其中您在代码中创建了一个数据帧,这将允许您发现错误problem@Evgeny谢谢你,我尝试将total_sqft
转换为int
,现在工作正常。