python数据分析学习(2)pandas二维工具DataFrame讲解
下面继续讲解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讲解的更多相关文章
- python数据分析学习(1)pandas一维工具Series讲解
目录 一:pandas数据结构介绍 python是数据分析的主要工具,它包含的数据结构和数据处理工具的设计让python在数据分析领域变得十分快捷.它以NumPy为基础,并对于需要类似 for循环 ...
- 讲解开源项目:用 Python 生成有“灵魂”的二维码
本文作者:HelloGitHub-LITTLECHIEH 这是 HelloGitHub 推出的<讲解开源项目>系列,今天给大家推荐一个 Python 开源生成二维码的项目--qrcode ...
- Python数据科学手册-Pandas:数据取值与选择
Numpy数组取值 切片[:,1:5], 掩码操作arr[arr>0], 花哨的索引 arr[0, [1,5]],Pandas的操作类似 Series数据选择方法 Series对象与一维Nump ...
- 使用Python的库qrcode生成二维码
现在有很多二维码的生成工具,在线的,或者安装的软件,都可以进行生成二维码.今天我用Python的qrcode库生成二维码.需要预先安装 Image 库 安装 用pip安装 # pip install ...
- Python数据分析学习目录
python数据分析学习目录 Anaconda的安装和更新 矩阵NumPy pandas数据表 matplotlib-2D绘图库学习目录
- Python数据科学手册-Pandas:层级索引
一维数据 和 二维数据 分别使用Series 和 DataFrame 对象存储. 多维数据:数据索引 超过一俩个 键. Pandas提供了Panel 和 Panel4D对象 解决三维数据和四维数据. ...
- python创建与遍历List二维列表
python创建与遍历List二维列表 觉得有用的话,欢迎一起讨论相互学习~Follow Me python 创建List二维列表 lists = [[] for i in range(3)] # 创 ...
- python将url转变成二维码图片
将url数据转变成二维码数据,再将二维码图片转成base64格式返回 import qrcode import io def url_image(self,url): img = qrcode.mak ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
随机推荐
- apache 访问日志access_log 配置和解析 rotatelogs分割日志
一.解析访问日志 apache 的访问日志记载着大量的信息,学会高效快捷的读出其中关键信息对我们的工作有极大帮助. 如果Apache的安装方式是默认安装,服务器一运行就会有两 ...
- chatrr lsatrr
PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的li ...
- [jQuery]jQuery链式编程(六)
链式编程 节约代码量 <button>快速</button> <button>快速</button> <button>快速</butt ...
- [Redis-CentOS7]Redis数据持久化(八)
配置文件位置 /ect/redis.conf RDB存储配置 save 900 1 # 900秒之内发生一次写操作保存 save 300 10 # 300秒内写10次保存 save 60 10000 ...
- HDU 4994 博弈。
F - 6 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status ...
- .NET Core之单元测试(四):Fluent Assertions的使用
目录 什么是Fluent Assertions 待测试API 测试用例 什么是Fluent Assertions Fluent Assertions 是 .NET 平台下的一组扩展方法,用于单元测试中 ...
- vim 快捷键方式
https://juejin.im/post/5ab1275d5188255588053e70#heading-14 安装方式 https://juejin.im/entry/57b281f72e95 ...
- PHP常见代码执行后门函数
PHP常见代码执行后门函数 代码执行: 应用程序在调用一些能够将字符串转换为代码的函数(例如php中的eval中),没有考虑用户是否控制这个字符串,将造成代码执行漏洞. 常见php代码执行函数介绍 常 ...
- 「Flink」Flink的状态管理与容错
在Flink中的每个函数和运算符都是有状态的.在处理过程中可以用状态来存储数据,这样可以利用状态来构建复杂操作.为了让状态容错,Flink需要设置checkpoint状态.Flink程序是通过chec ...
- 推荐一款疫情期间适合在家办公的远程工具,仅需IP和密码轻松实现远程管理
这段时间,受疫情影响,很多企业都开启了居家办公模式.但疫情突发,大多数人的办公资料没有拷贝打包,对于居家办公的人,尤其是运维人员来说,很难完成顺利完成工作. 像向日葵.teamviewer之类的远程软 ...