zoukankan      html  css  js  c++  java
  • 初识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的一些基础就讲解的差不多了,更深入的应用,还是用实战解决吧!

  • 相关阅读:
    Unity3D 事件
    Unity3D 动画回调方法
    Unity3D优化总结
    Unity3D 第一人称控制器 C#脚本
    TCP/IP与IETF的RFC
    linux内核调优参考
    nginx_tcp_proxy代理酸酸乳
    Gitlab+Jenkins实现自动部署
    inotifywait命令详解及安装
    yum无法安装nginx,报错内容为1:nginx-1.14.2-1.el7_4.ngx.x86_64: [Errno 5] [Errno 2] 没有那个文件或目录
  • 原文地址:https://www.cnblogs.com/Y-xp/p/12344858.html
Copyright © 2011-2022 走看看