出现的问题:如图,总消费金额本应该为float类型,此处却显示object

需求:将 TotalCharges 的类型转换成float

使用 pandas.to_numeric(arg, errors='raise', downcast=None) 方法,可将参数转换为数字类型。

(别的类型转换,遇到再补充)

 df = pd.read_excel('./data_files/Using_Customer-Churn.xlsx')

 # 将df.TotalCharges 转成数字类型的数据,则将无效解析设置为NaN
df.TotalCharges = pd.to_numeric(df.TotalCharges, errors='coerce')
df.isnull().sum()

此时,转换完成!

关于pandas.to_numeric 方法的详细信息可参见:https://www.cjavapy.com/article/532/

—————————— 手动分隔,以下为原来的野生思路 —————————

1 首先要找出本特征中,包含的数据类型究竟有哪些

 # 创建一个用于盛放数据类型的列表
test_type = list() for i in churn["TotalCharges"]: # 将数据类型 不重复的放入列表中
if type(i) not in test_type:
test_type.append(type(i))
print(test_type) """
[<class 'float'>, <class 'int'>, <class 'str'>]
"""

2 查看除 float 和 int 之外的类型的数据有哪些

# 创建用于盛放数据的列表
str_values= list() for i in churn["TotalCharges"]:
if type(i) != float and type(i) != int:
# 将既不是 float 也不是 int 的数据加到列表
str_values.append(i) print(str_values) """
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']
"""

此时得到:非数值型数据均为空格。

3 将数据统一为 float 类型

 # 空值替换所有空格
churn['TotalCharges'] = churn["TotalCharges"].replace(" ",np.nan)
# 去掉含有空值的样本
churn = churn[churn["TotalCharges"].notnull()]
# 将 TotalCharges 转换成 float类型
churn['TotalCharges'] = churn['TotalCharges'].astype(float)

此时

 大功告成!

遍历的方法,相对来说效率略低,Pandas 应该有什么方法,更加直接吧

纯野生思路,找到更好的办法再更新~

最新文章

  1. laravel中如何防止直接访问.env文件
  2. ThinkPHP随笔
  3. Key Figure、Exception Aggreagion、Non-Cumulative KeyFigure
  4. MyEclipse常用设置
  5. Python语言100例
  6. Java-UDP Socket编程
  7. MVC应用程序显示上传的图片
  8. Python—课时ONE
  9. Maven的下载和安装
  10. 再说AutoComplete
  11. [PHP]PDO占位符预处理在 IN 和 LIKE 中用法
  12. (国内)完美下载android源代码(文章已经丢失)
  13. CentOS7:ifconfig command not found解决
  14. jquery 学习(六) - 事件绑定
  15. spark sql中保存数据的几种方式
  16. 浅谈web缓存(转)
  17. JVM内存监视手段和内存溢出解决方案
  18. python 爬虫 黑科技
  19. 03_MySQL DQL_排序查询
  20. HUST软件测试1506班: 第0周作业成绩

热门文章

  1. VS2015中使用qt开发客户端,QPluginLoader加载dll为null的解决办法
  2. NCE L6
  3. Vue.js 起步
  4. Cesium案例解析(三)——Camera相机
  5. update mysql row (You can&#39;t specify target table &#39;x&#39; for update in FROM clause)
  6. RabbitMQ安装(发生系统错误5。拒绝访问。发生系统错误1067。进程意外终止。)
  7. Kubernetes CI/CD(2)
  8. Java基础之五、Java编程思想(1-7)
  9. 一起学Vue之条件判断
  10. Document节点