-- 不怕前路坎坷,只怕从一开始就走错了方向

Pandas 是python的一个数据分析包,纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas 就是为解决数据分析任务生的,无论是数据分析还是机器学习项目数据预处理中, Pandas 无处不在。

最近掉进一坑,差点铸成大错。实在没想到居然栽在pandas.read_csv上了,这里分享一下,希望大家注意。

另:业务数据不方便拿出来演示,为尽可能复现,这里我手造了一份,另存为 income.csv 文件。

翻船记

读取csv文件小菜一碟

import numpy as np
import pandas as pd
df = pd.read_csv(r'C:...income.csv',encoding='utf-8')

读好了看看数据信息吧:

df.info()RangeIndex: 6 entries, 0 to 5
Data columns (total 1 columns):#   Column  Non-Null Count  Dtype
---  ------  --------------  ----- 0   income  6 non-null      object
dtypes: object(1)
memory usage: 176.0+ bytes

诶,怎么数据成了object?不应该是float吗?

不管他,硬转一发

df=pd.DataFrame(df,dtype=np.float)

居然报错了,1000被读成了字符串。

其实这里我还掉进了另一个坑,使用了一个已被弃用的 .convert_objects 方法。这种方法更硬,直接把string转成了NaN,所以后面各种操作流畅且错误地进行着....这都是 pandas 没升级的锅,定期检查升级包太有必要了(pip 的高阶玩法)

说回刚才的问题,1,000被读成了字符串是因为csv文件中它使用了千位分隔符。问题其实非常简单,设置一下 thousands 参数就行了

df2 = pd.read_csv(r'C:...income.csv',encoding='utf-8',thousands =',')

看一下info

df2.info()<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6 entries, 0 to 5
Data columns (total 1 columns):#   Column  Non-Null Count  Dtype
---  ------  --------------  -----  0   income  6 non-null      float64
dtypes: float64(1)

往下继续

df2.describe()income
count 6.000000
mean 16934.983333
std 40695.203980
min 0.000000
25% 32.425000
50% 300.000000
75% 875.000000
max 100000.000000

一切正常!

pandas.read_csv()参数

pandas.read_csv()的参数特别多,除了filepath,其他均可缺省。参数的具体含义这里就不赘述,还想复习一下的同学可以直接去看官方文档

http://pandas.pydata.org/pandas-docs/stable/io.html

英语不好的同学可以看一下热心博主的翻译版: https://www.cnblogs.com/datablog/p/6127000.html

np读取csv文件_被 Pandas read_csv 坑了相关推荐

  1. python打开并读取csv文件_!python3中使用使用read_csv( )读取csv文件,文件路径中含有中文,无法读取怎么处理?...

    python3如何根据csv文件的列的内容,自动建数据库表 你好,csv格式的和excel格式是差不多的, 下面是读取excel的一些函数,希望帮到你: # -*- coding: cp936 -*- ...

  2. np读取csv文件_pythonpandas读写csv数据

    官方介绍:pandas的官方手册:https://pandas.pydata.org/pandas-docs/stable/pandas官方读写数据文档:https://pandas.pydata.o ...

  3. java读取csv文件_使用扫描仪读取Java中的CSV文件

    java读取csv文件 We can use Java Scanner Class to read CSV File in java. 我们可以使用Java扫描程序类在Java中读取CSV文件. 读取 ...

  4. np读取csv文件_pandas.read_csv函数参数详解

    Pandas.read_csv Hello大家好,欢迎来到[统计GO],本公众号内容主要针对数据分析的爱好者,不定期分享一些好用的数据分析工具和机器学习资料,以及一些求职必备技能,帮助大家花更少的时间 ...

  5. python读取csv内容变为nan_Python pandas read_csv 中NULL当成NaN类型问题

    1、使用read_csv读取数据null显示NaNimport pandas as pd from io import StringIO data = u'strings,numbers\nfoo,1 ...

  6. python pandas 把数据保存成csv文件,以及读取csv文件获取指定行、指定列数据

    文章目录: 1 数据说明 2 把数据集文件信息使用python pandas保存成csv文件 3 使用python pandas 读取csv的每行.每列数据 1 数据说明 1.在test_data目录 ...

  7. 使用Pandas读取CSV文件:sep操作

    我有一个csv文件,我想用python panda读取它.标题和行如下所示:A ^B^C^D^E ^F ^G ^H^I^J^K^L^M^N 很明显,分隔符是^,有时有一些奇怪的空格.我怎样才能把这个文 ...

  8. 成功解决利用pandas的read_csv函数读取csv文件的时候出现中文乱码问题

    成功解决利用pandas的read_csv函数读取csv文件的时候出现中文乱码问题 目录 解决问题 解决思路 解决方法 解决问题 利用pandas的read_csv函数读取csv文件的时候出现中文乱码 ...

  9. 用python的pandas打开csv文件_使用CSV模块和Pandas在Python中读取和写入CSV文件

    什么是CSV文件? CSV文件是一种纯文本文件,其使用特定的结构来排列表格数据.CSV是一种紧凑,简单且通用的数据交换通用格式.许多在线服务允许其用户将网站中的表格数据导出到CSV文件中.CSV文件将 ...

最新文章

  1. day12-mysql 事务与索引
  2. asp.net core 外部认证多站点模式实现
  3. mysql的gobye_Mysql學習(一)添加一個新的用戶並用golang操作Mysql
  4. PopupWindow正确使用方式
  5. 微星安装双系统Linux卡顿,微星笔记本-gf63-1050-win10-ubuntu16双系统安装
  6. MTK平台TP驱动框架分析
  7. 使用librtmp接收数据时要注意的问题
  8. Microsoft .NET Framework 4 安装 1603错误的解决
  9. 自定义错误页面 404.html
  10. 【shenyu网关学习】1.什么是 Apache ShenYu
  11. 《皮囊》中读出的人生哲学
  12. 有限状态机代码生成器 FsmCrater
  13. PhoneGap移动开发框架
  14. Python基础之占位符
  15. elementui表格获取mysql数据_vue+element-ui表格封装tag使用slot插槽标签
  16. ValueError: attempt to get argmax of an empty sequence
  17. 声明变量和定义变量的区别是什么?
  18. Linux 卷组逻辑卷创建管理和find高级使用 Set UID附加权限(DAY7)
  19. SQL Server 数据库(高级)完结篇
  20. 在线文档的制作(包含txt,word,pdf,excel的文档类型,一应俱全哦)

热门文章

  1. java的sql的like_[Java教程]SQL like 模糊查询, in
  2. 我的世界javamod怎么装_「装修细节」除了中央空调外的高颜值装空调大法
  3. js正则 匹配 正则表达式
  4. 海思芯片硬件java加速_海思芯片直播延迟测试结果(小于100毫秒)
  5. linux日志自动按天保存,linux实现按天生成日志文件并自动清理
  6. ca证书 csr_linux下使用openssl生成 csr crt CA证书
  7. 便携式不锈钢管道焊接机器人_304不锈钢管居然可以发黑?
  8. 计算机网络和通信,计算机网络与通信技术
  9. linux 自动安装 yum,LINUX6安装YUM仓库和实现开机自动挂载
  10. DIV CSS浏览器的兼容性