下面继续讲解pandas的第二个工具DataFrame。

二:pandas数据结构介绍

2.DataFarme

  DataFarme表示的是矩阵的数据表,包含已排序的列集合,是一个二维数据工具。每一列可以是不同的数据类型值。它既有行索引又有列索引,可以看作是一组共享相同索引的Series对象。DataFarme的数组方法有很多,比如用index.name获取某列的值,用values获取行的值。这里先介绍一些常用的知识。

  (1)构建DataFrame

  有多种方式可以构建DataFrame,其中最常用的方式是利用包含等长度列表或NumPy数组的字典形成DataFrame:

# 下面是采用NumPy的字典的方式来进行构建DataFrame
data = {'a':[1,2,3,4],'b':[1.0,2.0,3.0,4.0],'c':['a','b','c','d']}
frame = pd.DataFarme(data)

  结果如下:

  产生的DataFrame的行索引会自动分配,列索引为字典的每个键。

  (2)head

  对于大型的矩阵数据,head方法将会只选出头部的五行:

  (3)指定列

  如果指定了列,则会按照指定顺序排列,用columns属性,但是在数组字典中一定要存在该列的标签名,如果没有则在结果中出现缺失值:

  (4)指定行

  同样的,也可以指定行,用index属性。

  (5)获取属性

  获取属性可以用index获取行,用columns获取列。

  (6)获取列内容

  获取DataFrame列的值,可以像字典型标记或属性那样检索Series:

  frame[column]对于任意列名均有效,而frame.column只在列名是有效的Python变量名时有效。

  (6)获取行内容

  获取DataFrame行的值,可以通过位置或者特殊属性loc进行选取:

  (7)赋值

  将列表或者数组赋值给一个列时,值的长度必须和DataFrame的长度相匹配,并按照索引进行排序,在空缺的地方填充缺失值。

  如果被赋值的列不存在,会产生新列, 但是要注意的是要用frame['']语法复制,用frame.(列名)的语法无法创建新的列。

  (8)删除列

  del方法可以用于移除之前新建的列,这里删除的是对应数据的视图,会表现到原数组,如果需要复制,应该显式地使用copy方法。

  (9)嵌套字典

  如果嵌套字典被赋值给DataFrame,pandas会将字典的键作为列,将内部字典的键作为行索引。

  (10)转置

  这里可以用T属性获取该对象的转置:

  在pandas中,可以用pd.Index()构造索引对象。

python数据分析学习(2)pandas二维工具DataFrame讲解的更多相关文章

  1. python数据分析学习(1)pandas一维工具Series讲解

    目录 一:pandas数据结构介绍   python是数据分析的主要工具,它包含的数据结构和数据处理工具的设计让python在数据分析领域变得十分快捷.它以NumPy为基础,并对于需要类似 for循环 ...

  2. 讲解开源项目:用 Python 生成有“灵魂”的二维码

    本文作者:HelloGitHub-LITTLECHIEH 这是 HelloGitHub 推出的<讲解开源项目>系列,今天给大家推荐一个 Python 开源生成二维码的项目--qrcode ...

  3. Python数据科学手册-Pandas:数据取值与选择

    Numpy数组取值 切片[:,1:5], 掩码操作arr[arr>0], 花哨的索引 arr[0, [1,5]],Pandas的操作类似 Series数据选择方法 Series对象与一维Nump ...

  4. 使用Python的库qrcode生成二维码

    现在有很多二维码的生成工具,在线的,或者安装的软件,都可以进行生成二维码.今天我用Python的qrcode库生成二维码.需要预先安装  Image 库 安装 用pip安装 # pip install ...

  5. Python数据分析学习目录

    python数据分析学习目录 Anaconda的安装和更新 矩阵NumPy pandas数据表 matplotlib-2D绘图库学习目录                      

  6. Python数据科学手册-Pandas:层级索引

    一维数据 和 二维数据 分别使用Series 和 DataFrame 对象存储. 多维数据:数据索引 超过一俩个 键. Pandas提供了Panel 和 Panel4D对象 解决三维数据和四维数据. ...

  7. python创建与遍历List二维列表

    python创建与遍历List二维列表 觉得有用的话,欢迎一起讨论相互学习~Follow Me python 创建List二维列表 lists = [[] for i in range(3)] # 创 ...

  8. python将url转变成二维码图片

    将url数据转变成二维码数据,再将二维码图片转成base64格式返回 import qrcode import io def url_image(self,url): img = qrcode.mak ...

  9. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

随机推荐

  1. 和内嵌的iframe进行通讯

    利用内置iframe进行通讯 1. 在当前网页设置iframe网页(监听iframe发来postmessage消息事件) a. 外部网页接收数据: 回调方法,其中e.data为传入数据: const ...

  2. cornerstone使用beyond compare比较工具

    prefrences->general->external compare tool->open script foder 新建一个bc.sh文件(名字可以任意,sh后缀即可)保存到 ...

  3. 移动端键盘顶起遮挡输入框&offsetTop值不准问题

    先上图    通常在开发中我们会遇到这样输入框被遮挡的问题,那么该怎么解决呢? 方案一(css): 首先,把置底元素设置成,在页面的底部而非屏幕的底部 .page .bottom { position ...

  4. 解决打开的小窗口回调参数的问题,layui

      问题:          给用户新增优惠券,单个用户,单个优惠券,新增的话,用输入窗点击事件,点击后弹出一个子窗口列表页,选择数据后,点击确定,信息传回父窗口,主要是解决传值的问题. 解决思路: ...

  5. Windows远程连接Ubuntu上的MySQL数据库

    原因:mysql安装好后,默认监听3306端口,并且只允许localhost访问,只允许root用户在localhost上登录.   我的环境:                 Ubuntu16.04 ...

  6. C语言程序转汇编代码

    最近在学着写bootloader,由于汇编太繁杂,希望可以使用C语言完成一部分,然后转成NASM汇编代码,经过摸索,最终找到了一个解决方案,记录于此,留作参考. 核心步骤 使用gcc编译得到.o文件 ...

  7. js—二进制中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 做题思路 代码 function NumberOf1(n) { // write code here var cnt = 0 ...

  8. [算法] Dijkstra算法(带权有向图 最短路径算法)

    一.带权有向图 二.算法原理 1)由于我们的节点是从1-6,所以我们创建的列表或数组都是n+1的长度,index=0的部分不使用,循环范围为1-6(方便计算). 2)循环之前,我们先初始化dis数组和 ...

  9. Spring有哪些配置方式

    1.XML 配置文件. Bean 所需的依赖项和服务在 XML 格式的配置文件中指定.这些配置文件通常包含许多 bean 定义和特定于应用程序的配置选项.它们通常以 bean 标签开头.例如: < ...

  10. SVN状态图标不显示的解决办法

    第一步:检查设置 右键->TortoiseSVN->setting->Icon Overlays->Status cache->default/Shell.或者 右键-& ...