Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 错误:';int';对象没有属性';拆分';_Python_Pandas_Regression - Fatal编程技术网

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
,现在工作正常。