初识pandas

  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的交互式显示的字符串表示形式是索引在左边,值在右边。因为我们没有给数据指定索引,一个包含整数0N-1这里N是数据的长度)的默认索引被创建。你可以分别的通过它的valuesindex属性来获取 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的一些基础就讲解的差不多了,更深入的应用,还是用实战解决吧!

posted @ 2020-02-23 21:54  杨小平#  阅读(253)  评论(0编辑  收藏  举报