Pandas基本数据结构总结

简介

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。
Pandas基本数据结构总结_第1张图片
  • 从ser1的values和index属性可以拿到Series的values和index的集合。


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


    Pandas基本数据结构总结_第3张图片
  • Series取值,因为Series可以理解为定长的有序字典,所以我们取值的时候传入的就是键值,这里我们可以传入单个或者多个键值。


    Pandas基本数据结构总结_第4张图片
  • 对Series进行过滤或者操作,都会返回一个新的Series,原来的ser2是保持不变的。


    Pandas基本数据结构总结_第5张图片
  • 还可以传入一个字典直接构造Series,这样大家大概就可以理解我刚刚说的Series可以看成一个定长的字典的道理了吧。


    Pandas基本数据结构总结_第6张图片
  • 当传入一个字典我们又传入索引的时候,会发生什么事情呢?我们可以看到当字典中有我们传入的键值的时候,则没什么问题,但是当我们传入的索引中没有字典中的键值的时候,就变成了NaN。在pandas中NaN则标示为缺失值的意思。


    Pandas基本数据结构总结_第7张图片

DataFrame

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

  • 用字典创建DataFrame。


    Pandas基本数据结构总结_第8张图片
  • 按指定列进行排序。


    Pandas基本数据结构总结_第9张图片
  • 如果传入的columns中没有指定的key值,则会变成NaN。


    Pandas基本数据结构总结_第10张图片
  • 通过类似字典的取值方式,我们可以取到一个Series,根据列索引。


    Pandas基本数据结构总结_第11张图片
  • 通过ix取到一行的数据,根据行索引。


    Pandas基本数据结构总结_第12张图片
  • 赋值。

    • 给一列赋单值。


      Pandas基本数据结构总结_第13张图片
    • 给一列赋一组值。


      Pandas基本数据结构总结_第14张图片
  • 赋值一个Series,进行精确匹配,其他值填充为NaN。


    Pandas基本数据结构总结_第15张图片
  • del用于删除一列


    Pandas基本数据结构总结_第16张图片
  • 转置操作,即行索引变成列索引,列索引变成行索引。


    Pandas基本数据结构总结_第17张图片

你可能感兴趣的:(Pandas基本数据结构总结)