下面继续讲解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. apache 访问日志access_log 配置和解析 rotatelogs分割日志

    一.解析访问日志        apache 的访问日志记载着大量的信息,学会高效快捷的读出其中关键信息对我们的工作有极大帮助.       如果Apache的安装方式是默认安装,服务器一运行就会有两 ...

  2. chatrr lsatrr

    PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的li ...

  3. [jQuery]jQuery链式编程(六)

    链式编程 节约代码量 <button>快速</button> <button>快速</button> <button>快速</butt ...

  4. [Redis-CentOS7]Redis数据持久化(八)

    配置文件位置 /ect/redis.conf RDB存储配置 save 900 1 # 900秒之内发生一次写操作保存 save 300 10 # 300秒内写10次保存 save 60 10000 ...

  5. HDU 4994 博弈。

    F - 6 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status ...

  6. .NET Core之单元测试(四):Fluent Assertions的使用

    目录 什么是Fluent Assertions 待测试API 测试用例 什么是Fluent Assertions Fluent Assertions 是 .NET 平台下的一组扩展方法,用于单元测试中 ...

  7. vim 快捷键方式

    https://juejin.im/post/5ab1275d5188255588053e70#heading-14 安装方式 https://juejin.im/entry/57b281f72e95 ...

  8. PHP常见代码执行后门函数

    PHP常见代码执行后门函数 代码执行: 应用程序在调用一些能够将字符串转换为代码的函数(例如php中的eval中),没有考虑用户是否控制这个字符串,将造成代码执行漏洞. 常见php代码执行函数介绍 常 ...

  9. 「Flink」Flink的状态管理与容错

    在Flink中的每个函数和运算符都是有状态的.在处理过程中可以用状态来存储数据,这样可以利用状态来构建复杂操作.为了让状态容错,Flink需要设置checkpoint状态.Flink程序是通过chec ...

  10. 推荐一款疫情期间适合在家办公的远程工具,仅需IP和密码轻松实现远程管理

    这段时间,受疫情影响,很多企业都开启了居家办公模式.但疫情突发,大多数人的办公资料没有拷贝打包,对于居家办公的人,尤其是运维人员来说,很难完成顺利完成工作. 像向日葵.teamviewer之类的远程软 ...