第5章 pandas入门

  • pandas数据结构

    • Series:一种一维第数组型对象,包含了一个值序列,并且包含了一个数据标签,称为索引。

      • 创建一个最简单的Series(S一定要大写):


        image.png
      • 访问Series中的值或索引:
        obj.values,obj.index

      • 创建一个自定义标签的Series:


        image.png
      • 可以做类似numpy风格的操作:
        布尔值过滤:obj[obj>0]
        与标量相乘:obj*2
        应用数学函数:np.exp(obj)

      • 如果你已经有数据在Python字典中,你可以用它生成一个Series:


        image.png
        • 你也可以将字典键按照你想要的顺序传递给构造函数,从而使生成的Series符合你的预期:

          image.png

          上述例子中,由于sdata中没有键'California',故期值不存在,在Series中表示为NaN

        • 我们可以使用isnullnotnull来查询值的缺失:

          image.png

        • 按位置改变Series的索引:


          image.png
    • DataFrame

      • DataFrame是一种表示矩阵的数据表,它包含已排序的列集合,每一列都可以有不同类型的数据类型。
      • 构建方法最常用的是利用包含等长度列表或Numpy数组的字典来形成DataFrame:


        image.png

      指定列顺序:


      image.png

      如果你传入的列不包含在字典中,则结果会出现缺失值。


      image.png
      • DataFrame中的每一列可以看作Series,可以按照字典型标记或属性那样检索。


        image.png
      • 选取某一行loc[]

        image.png

      • 修改列,可以赋值为标量值或者值数组(值的长度必须匹配):


        image.png

        image.png
      • 将Series赋值给一列时,Series的索引将会按照DataFrame的索引重新排列,并在空缺的地方填充缺失值:


        image.png
      • 如果被赋值的列不存在,将会生成一个新列:


        image.png
      • del:删除某一列。
        del frame['eastern']

      • 另一种构建方法,将嵌套字典赋值给DataFrame。Pandas会将字典的键作为列,内部字典的键作为行索引。


        image.png
      • 可以使用Numpy中的语法进行转置。


        image.png
  • 索引对象
    你所使用的任意数组或标签序列都可以在内部转换为索引对象

    image.png

    • 生成Index
      image.png
    • 与Python字典不同,pandas索引对象可以包含重复标签。
    • 一些索引对象的方法和属性见书P135。
  • 重建索引

    • 如果索引值之前不存在,则会引入缺失值。


      image.png
    • 重建索引时可以使用一些方法,例如ffill,将缺失值向前填充。
      image.png
    • 可以改变行索引,也可以改变列索引,使用columns关键字:
      image.png
    • 使用loc进行更为简介的标签索引,大家更倾向于这种方式:
      frame.loc[['a','b','c','d'],states]],注意最外层是[]
    • 一些reindex的方法见书P137。
  • 轴向 上删除条目

    • drop方法:
      image.png
      • 也可以从列中删除值


        image.png
  • 索引、选择与过滤

    • Series的索引与Numpy数组索引的功能类似,但是Series的索引可以不仅仅是整数。
      obj['b'], obj[1], obj[2:3](返回第第三个),obj[obj<2]
      另外Python中切片是不包含尾部的,而Series的切片则不同:obj['b':'c'],输出标签为b到c的之间的数据,包含b和c。

      image.png

    • 使用lociloc选择数据
      loc:使用轴标签来选择数据。
      iloc:使用整数标签来选择数据。

    • 一些DataFrame的其他索引方式见书P144。

  • 算数和数据对其
    标签重叠的数据相加,标签不重合的数据补缺失值。

    • 对于Series:


      image.png
    • 对于DataFrame:


      image.png
    • 使用填充值的算数方法
      可以使用fill_value参数设定不重叠的Nan值。

      image.png

      • 一些其他灵活算数方法见书P148。
  • DataFrame和Series之间的操作

    • 先来看Numpy中的多维arr与一维arr之间的操作:
      当我们从arr中减去arr[0]时,减法在每一行都进行了操作,这就是广播机制
      image.png
    • Frame与Series相减:


      image.png
  • 函数应用和映射
    Numpy的通用函数对pandas对象也有效:


    image.png
  • 排序和排名

    • sort_index方法:对index进行排序。
      在Series中:
      image.png

    在DataFrame中:


    image.png
    • sort_values方法:对值进行排序:
      对于Series:
      image.png

    对于DataFrame,可以选择一列或多列进行排序:


    image.png
  • 排名 rank
    以下默认方法不会打破平级关系,比如两个7都是排6.5名。

    image.png

    可以通过添加各种方法打破平级关系或实现其他形式的排名,见书P155。

  • 含有重复标签的轴索引
    如果含有重复的轴标签,对重复的轴标签进行索引时会返回多个值。

  • 相关性和协方差

    • corr方法求相关性。
    • cov方法求协方差。
    • corrwith方法求一列与多列之间的相关性。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容

  • 以下内容主要学习自《利用Python进行数据分析》 第5章 Pandas入门(1) pandas所包含的数据结构和...
    whybask阅读 769评论 0 0
  • 目录: 5.1 pandas 的数据结构介绍 5.1.1 Series 5.1.2 DataFrame 5.1.3...
    凌岸_ing阅读 4,764评论 0 17
  • pandas入门 简介 pandas包含的数据结构和操作工具能快速简单地清洗和分析数据。 pandas经常与Num...
    python测试开发阅读 2,388评论 1 16
  • 功能包括但不限于: 1.按轴自动或显式数据对齐功能的数据结构2.集成时间序列功能3.数学运算和约简4.灵活处理缺失...
    Shinichi新一君阅读 688评论 0 1
  • 一直都很喜欢印度电影的随时随地的歌舞表演,音乐欢快,舞姿优美,总能让人跟着起舞,跟着开心! (摘录) ...
    小幸福_4005阅读 102评论 0 1