python数据处理模块pandas_13. Python|模块总结:Pandas(数据处理)|【老W笔记】...
一、基本操作0. 导入模块import pandas as pd1. 新建DataFrame下面的例子中,我们新建一个有3条记录2列属性的表格。3 条记录分别是Tom,Bob,Alice的个人信息,2列属性分别是name和age。
新建属性列的语法形如df['XX']= List,属性名为XX,属性值是List。例如,新建属性列age的语法df['age']=[20,28,22],属性名为age,三条记录的数值为[20,28,22]。df = pd.DataFrame()
df['name']=['Tom','Bob','Alice']
df['age']=[20,28,22]
2. 查看DataFrame查看前n行。当DataFrame有海量记录的时候,我们可以只查看前n行来了解属性结构,以及数据的大致内容。
查看前n行语法df.head(n)。例如,df.head(1)查看第1行记录。df.head(1)
Screen Shot 2020-05-11 at 4.18.18 PM.png查看总行数,总列数。语法是df.shape,它返回(#rows,#cols)的元组。
也可以单独取出总行数df.shape[0]和总列数df.shape[1]。df.shape #(3, 2)DataFrame转Array。如果对数组操作更熟悉,那么可以绕开DataFrame操作的语法,用语法df.values把DataFrame直接转成2D数组来处理。df.values
Screen Shot 2020-05-11 at 4.25.48 PM.png3. 读写文件to_csv函数把DataFrame存到CSV文件中。
pd.read_csv函数把CSV文件内容读取到DataFrame中。df.to_csv('test2.csv')
df = pd.read_csv('test.csv')
三、DataFrame增删改查1. 添加行/列下面例子中,新增了一个height列,新增了一条Lily的记录。
新增一列的语法形如df['XX']=List,属性名XX,属性值为List。例如,语法df['height']=[1.75,1.80,1.68],新增列名height,数值分别为[1.75,1.80,1.68]。
新增一行用append函数,参数是Dict类型的一条记录,key是属性列名,value是属性值。df['height']=[1.75,1.80,1.68]
df = df.append({'name':'Lily','age':24,'height':1.65}, ignore_index=True)
2. 删除行/列下面的例子中,我们删除了height列,删除了一条Tom的记录。
删除行和删除列使用的函数是一样的,都使用drop函数。
删除行语法drop(0, inplace=True),参数是记录的index 0。
删除列的语法drop('height', axis=1, inplace=True),参数是属性名height。df.drop(0, inplace=True)
df.drop('height', axis=1, inplace=True)
3. 更新单个Cell/多个Cell更新单个cell的语法形如df.at[index,'XX']=value 。
例如:语法df.at[0,'name']='David'表示把0行name列的值修改成David。df = pd.DataFrame()
df['name']=['Tom','Bob','Alice']
df['age']=[20,28,22]
df.at[0,'name']='David'
更新多个cell的语法形如df.loc[df['XX']=condition, 'XX']=value。它的操作分两步,第一步先用df.loc函数找到符合条件df['XX']=condition的记录,第二步修改这些记录的属性值。
例如,语法df.loc[df['name'].str.contains('o'),'name']表示找到name属性包含字符'o'的记录,然后把这些记录的name值换成Testing。
例子中,Tom和Bob由于包含字符'o',因此都被替换成了Testing。df = pd.DataFrame()
df['name']=['Tom','Bob','Alice']
df['age']=[20,28,22]
df.loc[df['name'].str.contains('o'),'name'] = 'Testing' #多个cell
4. 查询记录查询记录的语法形如df[df['XX'] = condition]。
例如,语法df[df['age']<25]表示查询所有age列的值小于25的记录。
例子中,Tom年龄20<25,Alice年龄22<25,因而被查询到。df = pd.DataFrame()
df['name']=['Tom','Bob','Alice']
df['age']=[20,28,22]
df[df['age']<25]
四、高级操作1. Group操作下面的例子是一张成绩单,内容是三个人Tom,Bob,Alice的成绩,每人两科成绩:English成绩,Chinese成绩,因此共3*2=6条记录。
计算每个人的平均成绩。分两步完成这个任务:
1). 把记录按照name分组,语法是df.groupby('name')。
2). 组内计算成绩平均值,语法是df.groupby('name').mean()。
例子中,Tom的英文/语文成绩分别是70,100,因此均值是85。其它人计算同理。df = pd.DataFrame()
df['name']=['Tom','Tom','Bob','Bob','Alice','Alice']
df['course']=['English','Chinese','Chinese','English','English','Chinese']
df['score']=[70,100,99,95,85,90]
df.groupby('name').mean()
https://www.jianshu.com/p/e53c5b54d3e1
python数据处理模块pandas_13. Python|模块总结:Pandas(数据处理)|【老W笔记】...相关推荐
- 【Python数据科学】第三章 Pandas 数据处理(下半章)
7.合并数据集:合并与连接 Pandas 的基本特性之一就是高性能的内存式数据连接(join)和合并(merge)操作.如果你有使用数据库的经验,那么对这类操作一定很熟悉.Pandas 的主接口是pd ...
- python点云处理模块_python版本的点云数据处理库
一.Open3D A Modern Library for 3D Data Processing,Intel出品,MIT协议. Open3D是一个支持3D数据处理软件快速开发的开源库.Open3D使用 ...
- python网络数据处理之html2text模块和readability模块学习使用
今天在处理html数据的时候发现了python里面比较好玩的几个库,先存起来之后有时间慢慢再去学习和使用,觉得是一件蛮有意思的事情.今天想学习使用的是html2text模块和readability模块 ...
- Python实战案例,requests模块,Python实现获取动态图表
前言 利用Python实现获取动态图表,废话不多说~ 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: re模块: requests模块: urllib模块: pandas模 ...
- python哪个关键字可以导入模块_关于python导入模块import与常见的模块详解
0.什么是python模块?干什么的用的? Java中如果使用abs()函数,则需要需要导入Math包,同样python也是封装的,因为python提供的函数太多,所以根据函数的功能将其封装在不同的m ...
- python的excel库_Python-Excel 模块哪家强?
0. 前言 从网页爬下来的大量数据需要清洗? 成堆的科学实验数据需要导入 Excel 进行分析? 有成堆的表格等待统计? 作为人生苦短的 Python 程序员,该如何优雅地操作 Excel? 得益于前 ...
- 小白用python处理excel文件-Python读、写Excel文件(三种模块三种方式,小白也可学会)...
python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别: 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pandas进行excel读写: 为了方 ...
- group python 读hdf5_Python处理Excel模块的对比分析
码不理课堂开课了 数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式 ...
- python效率numpy_Python数据处理性能对比,原生,Pandas,Numpy哪个更优秀
原标题:Python数据处理性能对比,原生,Pandas,Numpy哪个更优秀 今天为大家分享一个关于数据处理性能的对比,从原生,Pandas ,Numpy这三个方面对比?你觉得哪个更优秀呢?对于一个 ...
最新文章
- gin使用 GET, POST, PUT, PATCH, DELETE, OPTIONS
- python统计字符出现的次数最多的字符_Python统计字符串中出现次数最多的人名
- Adaboost算法原理分析和实例+代码(简明易懂)
- 使用glew和glad 新建窗口
- dotcpp1115 DNA-打印图案
- 范数与L1损失(MAE)、L2损失(MSE)的关系
- C#经典算法实践,回顾往生,更是致敬《算法导论》
- nn.Conv2d的解释
- C# 算法之链表、双向链表以及正向反向遍历实现
- 使用Jackson解析JSON
- python operator.itemgetter
- 开源bot工具Rasa学习---1
- 使用threading+queue队列,发送get请求,输出状态码
- 数据库精选 60 道高频面试题(含答案),值得收藏
- 使用QT5+Opencv完成简单的图像处理及视频处理软件
- 计算机视觉:视频分解图片和图片合成视频
- 实习工作日志-2019.02.25
- maptalks+three.js+vue webpack项目实现二维地图上贴三维模型
- java五子棋AI算法人机对战(春物彩羽版可下载试玩PC端)
- matlab实现降低图片的分辨率
热门文章
- 配置库用户_GEE学习笔记 六十八:【GEE之Python版教程二】配置Python开发环境
- python exit 0_python中 os._exit() 和 sys.exit(), exit(0)的用法和区别
- 不同映射方式下cache的失效率_详解发动机在不同工况下的喷油量控制方式
- [蓝桥杯]算法提高 道路和航路(spfa+deque+快读优化)
- 利用Python绘制中国新型冠状病毒疫情图(国家和省)
- activiti高亮显示图片_第 09 篇:让博客支持 Markdown 语法和代码高亮
- c语言让数组地址对齐,C语言实现比特位数组在目标空间左右居中对齐三种方式...
- ie9无法获取未定义或 null 引用的属性“indexof”_前端JS基础篇(二)JS基本数据类型和引用数据类型及检测数据类型方法...
- 我是机器人布里茨_9.19机器人钩子范围增加,这些位置阴人无敌,一Q一个小朋友...
- springcloud 之 路由网关 zuul