吴裕雄--天生自然python学习笔记:pandas模块强大的数据处理套件
用 Python 进行数据分析处理,其中最炫酷的就属 Pa ndas 套件了 。 比如,如果我
们通过 Requests 及 Beautifulsoup 来抓取网页中的表格数据 , 需要进行较复
杂的搜寻才能抓取 , 但通过 Pandas 不但可以自动读取网页中的表格数据,还能对数
据进行修改、排序等处理,以及给制统计图表 。
Pandas 主要的数据类型有两种: Series 是一维数据结构, 其用法与列表类
似: DataFrame 是 二维数据结 构, 表格 即为 DataFrame 的典 型结构。本书仅讲解
DataFrame 使用 方法。
用 Pandas 套件进行数据处理,首先要导入 Pandas 套件。
官网建议在导入
Pandas 套件时命名为“pd ”,语法为 :
import pandas as pd
创建 DataFrame 的语法为 :

“数据类型”可以是多种类型 : 第一种数据类型是由包含相同数量的列表数据
作为键值 的 字 典创建的 DataFrame 数据 。 例如,建立一个包含 4 位学生、每人有 5
科成绩的 DataFrame , 数据变量名称为 df:

建立的 DataFrame 如下图:字典“键”作为列标题 (注意其顺序是随机的),行
标题则是自动生成的数值。

import pandas as pd
df = pd.DataFrame( {"林大明":[65,92,78,83,70], "陈聪明":[90,72,76,93,56], "黄美丽":[81,85,91,89,77], "熊小娟":[79,53,47,94,80] } )
print(df)

第二种数据类型是自行设置行及列标题 :

例如,建立一个由 4 位学生、每人有 5 科成绩的 DataFrame , 数据变量名称为
列标题为科目名称,行标题为学生姓名 :
import pandas as pd datas = [[65,92,78,83,70], [90,72,76,93,56], [81,85,91,89,77], [79,53,47,94,80]]
indexs = ["林大明", "陈聪明", "黄美丽", "熊小娟"]
columns = ["语文", "数学", "英文", "自然", "社会"]
df = pd.DataFrame(datas, columns=columns, index=indexs)
print(df)

修改行、列标题
如果创建 DataFrame 时没有设置行、列标题,或者程序执行过程中需要修改行 、
列标题,例如上面例子中要更改学生姓名 , 那么可以通过修改行、列标题命令进行
修改。修改列标题的语法为 :

修改行标题的语法为 :

现在我们就把上面案例中第一个学生的姓名改为“林晶辉”,把第 4 个科目的名
称改为“理化”:
import pandas as pd datas = [[65,92,78,83,70], [90,72,76,93,56], [81,85,91,89,77], [79,53,47,94,80]]
indexs = ["林大明", "陈聪明", "黄美丽", "熊小娟"]
columns = ["语文", "数学", "英文", "自然", "社会"]
df = pd.DataFrame(datas, columns=columns, index=indexs)
indexs[0] = "林晶辉"
df.index = indexs
columns[3] = "理化"
df.columns = columns
print(df)


吴裕雄--天生自然python学习笔记:pandas模块强大的数据处理套件的更多相关文章
- 吴裕雄--天生自然python学习笔记:python下载安装各种模块的whl文件网址
python下载安装各种模块的whl文件网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
- 吴裕雄--天生自然python学习笔记:Python3 模块
Python3 模块 在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办 ...
- 吴裕雄--天生自然python学习笔记:pandas模块导入数据
有时候,手工生成 Pandas 的 DataFrame 数据是件非常麻烦的事情,所以我们通 常会先把数据保存在 Excel 或数据库中,然后再把数据导入 Pandas . 另 一种情况是抓 取网页中成 ...
- 吴裕雄--天生自然python学习笔记:pandas模块删除 DataFrame 数据
Pandas 通过 drop 函数删除 DataFrarne 数据,语法为: 例如,删除陈聪明(行标题)的成绩: import pandas as pd datas = [[65,92,78,83,7 ...
- 吴裕雄--天生自然python学习笔记:pandas模块DataFrame 数据的修改及排序
import pandas as pd datas = [[65,92,78,83,70], [90,72,76,93,56], [81,85,91,89,77], [79,53,47,94,80]] ...
- 吴裕雄--天生自然python学习笔记:pandas模块用 dataframe.loc 通过行、列标题读取数据
用 df.va lue s 读取数据的前提是必须知道学生及科目的位置,非常麻烦 . 而 df.loc 可直接通过行.列标题读取数据,使用起来更为方便 . 使用 df.loc 的语法为: 行标题或列标题 ...
- 吴裕雄--天生自然python学习笔记:pandas模块读取 Data Frame 数据
读取行数据 读取一个列数据的语法为: 例如,读取所有学生自然科目的成绩 : import pandas as pd datas = [[65,92,78,83,70], [90,72,76,93,56 ...
- 吴裕雄--天生自然python学习笔记:python 用pyInstaller模块打包文件
要想在没有安装 Python 集成环境的电脑上运行开发的 Python 程序,必须把 Python 文件打包成 .exe 格式的可执行 文件. Python 的打包工作 PyInstaller 提供了 ...
- 吴裕雄--天生自然python学习笔记:python 文件批量查找
在多个文本文件中查找 我们首先来学习文本文件的查找字符 . 我们通过 os.walk 扩大查找范围, 查找指定目录和子目录下的文件. 应用程序总览 读取 当 前目录及子目录下的所有 PY 和 txt ...
随机推荐
- 给rar文件加个自定义头
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- 【每日Scrum】第七天冲刺
一.计划会议内容 界面ui制作,主界面进度 二.任务看板 三.scrum讨论照片 四.产品的状态 无 五.任务燃尽图
- UVA 11404 简单LCS模型DP 字典序比较
这个题目求某个字符串中含的最长的回文子串. 就是一个很简单的LCS模型吗,而且我不明白为什么网上这么多人都说仿照某写法把字符串先逆序一下,然后求LCS,我只想问一下,有必要吗? 直接按LCS的套路来就 ...
- 吴裕雄--天生自然 JAVASCRIPT开发学习: JSON
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 运用Access学习数据库的三大范式
第一范式(1NF):强调的是列的原子性,即“列不能够再分成其他几列”,同一列中不能有多个值. 例子:业余爱好编码表+员工编码表 当员工杨来的业余爱好有多个时,此时的数据库设计不满足第一范式,可进行如下 ...
- UML-什么是GRASP?
1.定义 GRASP:General Responsibility Assignment Software Pattern,即通用职责分配软件模式,使用职责进行OO设计的学习工具. 2.本书目标 1) ...
- MacOS常用快捷键
command+空格 打开Spotlight command+m 最小化当前窗口 control+command+f 最大化当前窗口 command+q ...
- setAttribute 添加属性js_jq
属性js setAttribute document.getElementsByName("test")[0].setAttribute("src", &quo ...
- C++对象数组与对象指针
(一)对象数组 将具有相同类类型的对象有序地集合在一起便构成了对象数组,以一维对象数组为例,其定义形式为: 类名 对象数组名[]; Point points[100]; 关于对象数组的几点说明: (1 ...
- java生成6位数所有组合
for(int i=0;i<=9;i++){ String str=""; str=str+i; String strj=""; for(int j=0; ...