pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
在使用pandas之前,需要在电脑中安装好pandas库,具体安装方法可参考相关资料。
本文是在jupyter notebook中运行的。
我们首先载入pandas包,因为它是第三方工具,所以每次使用前必须在代码中载入。as是命名为别名,方便调用,pd是pandas约定俗成的简写。
from pandas import Series,DataFrame
或者
import pandas as pd
一、数据结构介绍
pandas中的数据结构:
Series
: 一维数组,类似于Python
中的基本数据结构list
,区别是Series
只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。就像数据库中的列数据;
DataFrame
: 二维的表格型数据结构。很多功能与R
中的data.frame
类似。可以将DataFrame
理解为Series
的容器;
Panel
:三维的数组,可以理解为DataFrame
的容器。
为了开始使用Pandas
,我们必需熟悉它的两个重要的数据结构:Series
和DataFrame
。虽然它们不是每一个问题的通用解决方案,但可以提供一个坚实的,易于使用的大多数应用程序的基础。
Series
是一个一维的类似的数组对象,包含一个数组的数据(任何NumPy
的数据类型)和一个与数组关联的数据标签,被叫做索引 。
Series
的交互式显示的字符串表示形式是索引在左边,值在右边。因为我们没有给数据指定索引,一个包含整数0
到N-1
这里N
是数据的长度)的默认索引被创建。你可以分别的通过它的values
和index
属性来获取 Series
的数组表示和索引对象。
DataFrame
是一个表格型的数据结构,是以一个或多个二维块存放的数据表格(层次化索引),DataFrame
既有行索引还有列索引,它有一组有序的列,每列既可以是不同类型(数值、字符串、布尔型)的数据,或者可以看做由Series
组成的字典。
二、数据的创建和读取
构造Series的方法很简单,可以指定相应的index和values来创建。
构造DataFrame最常用的方式是字典+列表,语句很简单,先是字典外括,然后依次打出每一列标题及其对应的列值(此处一定要用列表)
更多时候,我们是把相关文件数据直接读进PANDAS中进行操作,这里介绍两种非常接近的读取方式,一种是CSV格式的文件,一种是EXCEL格式(.xlsx和xls后缀)的文件。例如:
#读取csv文件
df=pd.read_csv('123.csv')
这样,就达到读取数据的目的了。
同样的还有读取excel文件
非常easy,其实read_csv和read_excel还有一些参数,比如header、sep、names等,大家可以做额外了解。实践中数据源的格式一般都是比较规整的,更多情况是直接读取。
三、数据查看
很多时候我们想要对数据内容做一个总览,用df.head()函数直接可以查看默认的前5行,与之对应,df.tail()就可以查看数据尾部的5行数据,这两个参数内可以传入一个数值来控制查看的行数,例如df.head(10)表示查看前10行数据。
df.info()帮助我们一步摸清各列数据的类型,以及缺失情况。
df.describe()快速计算数值型数据的关键统计指标,像平均数、中位数、标准差等等。
四、对数据的操作
1.增
增加一列,用df['新列名'] = 新列值的形式,在原数据基础上赋值即可。
2.删
我们用drop函数制定删除对应的列,axis = 1表示针对列的操作,inplace为True,则直接在源数据上进行修改,否则源数据会保持原样。
3.查
想要选取某一列怎么办?df['列名']即可;
选取多列呢?需要用列表来传递:df[['第一列','第二列','第三列'..]]。
4.改
好事多磨,复杂的针对特定条件和行列的筛选、修改,放在后面结合案例细讲,这里只讲一下最简单的更改:df['旧列名'] = 某个值或者某列值,就完成了对原列数值的修改。
到这里,pandas的一些基础就讲解的差不多了,更深入的应用,还是用实战解决吧!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。