博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python科学计算之Pandas使用(三)
阅读量:3729 次
发布时间:2019-05-22

本文共 1760 字,大约阅读时间需要 5 分钟。

阅读大概需要5分钟

作者老齐

编辑 zenRRan 有修改

链接 http://wiki.jikexueyuan.com/project/start-learning-python/311.html

Pandas 是基于 NumPy 的一个非常好用的库,正如名字一样,人见人爱。之所以如此,就在于不论是读取、处理数据,用它都非常简单。前两天介绍了 最常见的Pandas数据类型,,今天我们将是最后一次学Pandas了,这次讲的读取csv文件

关于csv文件

csv 是一种通用的、相对简单的文件格式,在表格类型的数据中用途很广泛,很多关系型数据库都支持这种类型文件的导入导出,并且 excel 这种常用的数据表格也能和 csv 文件之间转换。

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须象二进制数字那样被解读的数据。CSV 文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。

从上述维基百科的叙述中,重点要解读出“字段间分隔符”“最常见的是逗号或制表符”,当然,这种分隔符也可以自行制定。比如下面这个我命名为 marks.csv 的文件,就是用逗号(必须是半角的)作为分隔符:

其实,这个文件要表达的事情是(如果转化为表格形式):

普通方法读取

最简单、最直接的就是 open() 打开文件:

此方法可以,但略显麻烦。

Python 中还有一个 csv 的标准库,足可见 csv 文件的使用频繁了。

什么时候也不要忘记这种最佳学习方法。从上面结果可以看出,csv 模块提供的属性和方法。仅仅就读取本例子中的文件:

算是稍有改善。

用 Pandas 读取

如果对上面的结果都有点不满意的话,那么看看 Pandas 的效果:

看了这样的结果,你还不感觉惊讶吗?你还不喜欢上 Pandas 吗?这是多么精妙的显示。它是什么?它就是一个 DataFrame 数据。

还有另外一种方法:

如果你有足够的好奇心来研究这个名叫 DataFrame 的对象,可以这样:

一个一个浏览一下,通过名字可以直到那个方法或者属性的大概,然后就可以根据你的喜好和需要,试一试:

这几个是让你回忆一下上一节的。从 DataFrame 对象的属性和方法中找一个,再尝试:

按照竖列"Python"的值排队,结果也是很让人满意的。下面几个操作,也是常用到的,并且秉承了 Python 的一贯方法:

可以说,当你已经掌握了通过 dir() 和 help() 查看对象的方法和属性时,就已经掌握了 pandas 的用法,其实何止 pandas,其它对象都是如此。

读取其它格式数据

csv 是常用来存储数据的格式之一,此外常用的还有 MS excel 格式的文件,以及 json 和 xml 格式的数据等。它们都可以使用 pandas 来轻易读取。

.xls 或者 .xlsx

在下面的结果中寻觅一下,有没有跟 excel 有关的方法?

虽然没有类似 read_csv() 的方法(在网上查询,有的资料说有 read_xls() 方法,那时老黄历了),但是有 ExcelFile 类,于是乎:

我这里少了一个模块,看报错提示, 用pip 安装 openpyxl 模块:sudo pip install openpyxl。继续:

结果中,columns 的名字与前面 csv 结果不一样,数据部分是同样结果。从结果中可以看到,sheet1 也是一个 DataFrame 对象。

每日托福单词

immune  adj. 免疫的

apin  v. 旋转  n. 旋转

fungus  n. 真菌

archaeology  n. 考古学

wary  adj. 小心的,机警的

推荐阅读:


欢迎关注深度学习自然语言处理公众号,我会每天更新自己在机器学习深度学习NLPlinuxpython以及各种数学知识学习的一点一滴!再小的人也有自己的品牌!期待和你一起进步!

长按识别二维码

点个赞呗

转载地址:http://ipenn.baihongyu.com/

你可能感兴趣的文章
第一个程序hello.c
查看>>
修改dev c++的语言为简体中文与快捷键
查看>>
scanf()接收输入
查看>>
浮点数与四则运算符实例
查看>>
if else分支判断
查看>>
c的if else嵌套与switch分支语句
查看>>
c的循环while,do while
查看>>
c的循环小案例(取随机数)
查看>>
JDBC元数据
查看>>
数据库规范化理论与范式
查看>>
c的for循环
查看>>
JDBC 存储过程(使用java代码编写sql 存储过程)
查看>>
PowerDesigner数据库建模
查看>>
JDBC db层,封装方法(查,增,改,删)
查看>>
c的for循环(二)
查看>>
c的for循环(三)循环控制
查看>>
HTML标签即基本语法
查看>>
c的数据类型详解与逻辑运算
查看>>
js变量与数据类型,及数据类型转换
查看>>
c的函数
查看>>