美文网首页我爱编程
Pandas基本数据结构总结

Pandas基本数据结构总结

作者: zhangxu0636 | 来源:发表于2016-06-29 09:25 被阅读6342次

    简介

    pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包 类似于 Numpy 的核心是 ndarray(经过Numpy封装的数组,具备了比普通python数组更加强大的功能,后续我会写个numpy的教程笔记,供自己备忘,以及分享给大家学习),pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的,默认导入如下:
    from pandas import Series,DataFrame
    import pandas as pd
    由于通常还需要numpy,所以通常还需要导入numpy,导入格式:
    import numpy as np

    Series

    类似于定长的有序字典,有Index和value。

    • 由数组生成,传入一个数组,就会自动生成一个Series,第一列为Index,第二列则为值,Series自动帮助我们生成了index。
    • 从ser1的values和index属性可以拿到Series的values和index的集合。


    • 自定义索引(index),我们可以看到,当我们传入index的时候,第一列的索引不再是0..3了,而是替代成为我们传入的a,b,c,d。那当我们传入的索引的数量与传入的values的长度不相等的时候,会发生什么呢?当然,会报错,我传入的是3个长度的索引,报错内容:
      ValueError: Wrong number of items passed 4, placement implies 3.
      当然传入的索引长度大于values的长度的时候,报的一样的错误,只是上述的error中的3换成了5。


    • Series取值,因为Series可以理解为定长的有序字典,所以我们取值的时候传入的就是键值,这里我们可以传入单个或者多个键值。


    • 对Series进行过滤或者操作,都会返回一个新的Series,原来的ser2是保持不变的。


    • 还可以传入一个字典直接构造Series,这样大家大概就可以理解我刚刚说的Series可以看成一个定长的字典的道理了吧。


    • 当传入一个字典我们又传入索引的时候,会发生什么事情呢?我们可以看到当字典中有我们传入的键值的时候,则没什么问题,但是当我们传入的索引中没有字典中的键值的时候,就变成了NaN。在pandas中NaN则标示为缺失值的意思。


    DataFrame

    DataFrame可以看成是以Series组成的字典,具有行索引和列索引。

    • 用字典创建DataFrame。


    • 按指定列进行排序。


    • 如果传入的columns中没有指定的key值,则会变成NaN。


    • 通过类似字典的取值方式,我们可以取到一个Series,根据列索引。


    • 通过ix取到一行的数据,根据行索引。


    • 赋值。

      • 给一列赋单值。


      • 给一列赋一组值。


    • 赋值一个Series,进行精确匹配,其他值填充为NaN。


    • del用于删除一列


    • 转置操作,即行索引变成列索引,列索引变成行索引。


    相关文章

      网友评论

        本文标题:Pandas基本数据结构总结

        本文链接:https://www.haomeiwen.com/subject/wbztjttx.html