data['建筑面积']=data['建筑面积'].astype(float)显示could not convert string to float: '89平米'
时间: 2023-10-10 12:08:42 浏览: 126
这个错误是因为在对建筑面积进行处理时,出现了字符串中包含非数字字符的情况,同样需要先去除非数字字符,然后再进行类型转换。可以尝试使用如下代码:
```python
import re
data['建筑面积'] = data['建筑面积'].map(lambda a: re.sub(r'\D', '', a)).astype(float)
```
这里同样使用了正则表达式 `\D` 匹配所有非数字字符,并用空字符串替换。这样就能够将字符串中的非数字字符过滤掉,然后再进行类型转换。
相关问题
data['单价'] = data['单价'].map(lambda d: d.replace('元/平方米', '')) data['单价'] = data['单价'].astype(float)代码显示 could not convert string to float: '10000元/平米'
这个错误是因为数据中存在一些字符串形式的单价数据,这些字符串包含了“元/平方米”等非数字字符,无法直接转换为浮点数类型。可以使用正则表达式或其他方法过滤掉非数字字符,然后再进行类型转换。比如可以尝试如下代码:
```python
import re
data['单价'] = data['单价'].map(lambda d: re.sub(r'\D', '', d)).astype(float)
```
这里使用了正则表达式 `\D` 匹配所有非数字字符,并用空字符串替换。这样就能够将字符串中的非数字字符过滤掉,然后再进行类型转换。
data['总价']=data['总价'].map(lambda z: z.replace('万', '')) data['总价']=data['总价'].astype(float)代码显示 could not convert string to float: '10000元/平米'
这个错误是因为在对总价进行处理时,出现了字符串中包含非数字字符的情况,同样需要先去除非数字字符,然后再进行类型转换。可以尝试使用如下代码:
```python
import re
data['总价'] = data['总价'].map(lambda z: re.sub(r'\D', '', z)).astype(float)
```
这里同样使用了正则表达式 `\D` 匹配所有非数字字符,并用空字符串替换。这样就能够将字符串中的非数字字符过滤掉,然后再进行类型转换。
阅读全文