| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> pandas的简单操作 -> 正文阅读 |
|
[人工智能]pandas的简单操作 |
目录 sort_values('列名')? 根据列中值的大小,从小到大排序 pandas提供了使我们能够快速便捷地处理大量结构化数据,?pandas兼具NumPy高性能的数组计算功能以及电子表格和关系型数据库灵活的数据处理功能 SeriesSeries 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。 Series 由索引(index)和列组成,既然有索引就可以通过索引查找对应的值 如果我们只传入了值,会自动生从0开始的索引 ?也可以通过手动传入索引 ?numpy中的大部分函数也是可以使用的,比如最大值max()和平均数mean()
DataFrame 是一个表格型的数据结构,它含有多个列。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(一个列的数据共同用一个列索引)。 ?为什么说是由Series组成的字典呢? 我们单独取出一个列的数据看看,他的类型果然是Series 取出2个列的数据看看类型,果然开始变成DataFrame了,所以他们的差别就是数据是不是只有一列? ? 所以我们可以通过Series构建DataFrame ?DataFrame常用的方法loc:可以通过行索引查看一行数据还是使用上面的df1对象 读取文件(.csv)的方法csv文件是用逗号作为分隔符的文件 格式read_csv(文件路径) 但是这样是有问题的,他把我们的第一行数据当成了列的索引,所以我们需要重新给他传一个索引 在上面的基础上,加上 : 用names=[传入的索引内容...] head()显示前5行数据,tail()显示后5条数据 (head()里面也可以传入int类型数值,但是最多就显示20条) 查看dataframe参数info:显所有数据的类型 ?corr():查看列之间相关程度(首先得是数值类型) describe():查看列值的在统计方面的部分参考值 ? ? 布尔索引筛选数据类似numpy,我们也可以使用布尔索引来筛选数据 groupby 和 count求每个班级的人数,首先可以直接使用gruop by 分组,取出任意一列元素进行count 没有出现粗字体说明这是Series类型,我们可以给他重新设置一个索引,释放clazz列 reset_index()?:重置索引? rename() :修改列的索引名称格式:rename(columns={"原来的列名:新的列名"}) 但是这个修改并不会对数据本身进行修改,我们还需要设置inplace=True,让我们做出的改动作用在这个数据本身 sort_values('列名')? 根据列中值的大小,从小到大排序如果想要从大到小排序,在上面的基础上再设置: ascending=False ? ? ? ?? ?截取前n行数据 :切片可以通过切片实现截取数据 关联操作join()现在我再次读取一张score表,给列加上索引, 不要让他我们的第一行数据当成索引? ? ?上面的数据里面还包含了每一科目的成绩,太多了,我们把总分算出来方便后面关联,再把score列的索引改变一下变成sum_score 用一个变量sum_scoreDF把上面的表接收一下 , stu 和 sum_score DF现在我关联这2张表,使用id 和student_id 连接 格式:表1.merge(表2,left_on='表1中的关联字段',right_on='表2中的关联字段',how='连接方式可以选择:left,right,inner') drop()直接删除一列的数据 ?上面的表连接后出现了重复字段,我们可以从上面的表中把列一个一个挑出来,不过那样太麻烦了,可以直接删除一列drop('索引',axsi='0或者1'),0轴和1轴是numpy中使用坐标的时候也用到的,可以看成是一个第四象限的坐标,横向是1轴 排名rank()rank方法通常要传的参数:method可以选择排名方法(与hive中的一样) 默认是升序排序,我们求topn问题就需要排序是降序:acending=False,是开启值从大到小排序
first:从1开始到最后每有排名重复的 min:排名有重复,如果值相等按照小的写 max:排名有重复,如果值相等按照大的写 dense:和min一样排名有重复,如果值相等按照小的写 average:排名有重复,如果值相等按照重复位置的排名平均数的写 还是不太清楚的可以看看这张图 筛选first_rank<3的,完成分组求topn问题 ?
? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 0:25:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |