一、基本操作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笔记】...相关推荐

  1. 【Python数据科学】第三章 Pandas 数据处理(下半章)

    7.合并数据集:合并与连接 Pandas 的基本特性之一就是高性能的内存式数据连接(join)和合并(merge)操作.如果你有使用数据库的经验,那么对这类操作一定很熟悉.Pandas 的主接口是pd ...

  2. python点云处理模块_python版本的点云数据处理库

    一.Open3D A Modern Library for 3D Data Processing,Intel出品,MIT协议. Open3D是一个支持3D数据处理软件快速开发的开源库.Open3D使用 ...

  3. python网络数据处理之html2text模块和readability模块学习使用

    今天在处理html数据的时候发现了python里面比较好玩的几个库,先存起来之后有时间慢慢再去学习和使用,觉得是一件蛮有意思的事情.今天想学习使用的是html2text模块和readability模块 ...

  4. Python实战案例,requests模块,Python实现获取动态图表

    前言 利用Python实现获取动态图表,废话不多说~ 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: re模块: requests模块: urllib模块: pandas模 ...

  5. python哪个关键字可以导入模块_关于python导入模块import与常见的模块详解

    0.什么是python模块?干什么的用的? Java中如果使用abs()函数,则需要需要导入Math包,同样python也是封装的,因为python提供的函数太多,所以根据函数的功能将其封装在不同的m ...

  6. python的excel库_Python-Excel 模块哪家强?

    0. 前言 从网页爬下来的大量数据需要清洗? 成堆的科学实验数据需要导入 Excel 进行分析? 有成堆的表格等待统计? 作为人生苦短的 Python 程序员,该如何优雅地操作 Excel? 得益于前 ...

  7. 小白用python处理excel文件-Python读、写Excel文件(三种模块三种方式,小白也可学会)...

    python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别: 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pandas进行excel读写: 为了方 ...

  8. group python 读hdf5_Python处理Excel模块的对比分析

    码不理课堂开课了 数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式 ...

  9. python效率numpy_Python数据处理性能对比,原生,Pandas,Numpy哪个更优秀

    原标题:Python数据处理性能对比,原生,Pandas,Numpy哪个更优秀 今天为大家分享一个关于数据处理性能的对比,从原生,Pandas ,Numpy这三个方面对比?你觉得哪个更优秀呢?对于一个 ...

最新文章

  1. gin使用 GET, POST, PUT, PATCH, DELETE, OPTIONS
  2. python统计字符出现的次数最多的字符_Python统计字符串中出现次数最多的人名
  3. Adaboost算法原理分析和实例+代码(简明易懂)
  4. 使用glew和glad 新建窗口
  5. dotcpp1115 DNA-打印图案
  6. 范数与L1损失(MAE)、L2损失(MSE)的关系
  7. C#经典算法实践,回顾往生,更是致敬《算法导论》
  8. nn.Conv2d的解释
  9. C# 算法之链表、双向链表以及正向反向遍历实现
  10. 使用Jackson解析JSON
  11. python operator.itemgetter
  12. 开源bot工具Rasa学习---1
  13. 使用threading+queue队列,发送get请求,输出状态码
  14. 数据库精选 60 道高频面试题(含答案),值得收藏
  15. 使用QT5+Opencv完成简单的图像处理及视频处理软件
  16. 计算机视觉:视频分解图片和图片合成视频
  17. 实习工作日志-2019.02.25
  18. maptalks+three.js+vue webpack项目实现二维地图上贴三维模型
  19. java五子棋AI算法人机对战(春物彩羽版可下载试玩PC端)
  20. matlab实现降低图片的分辨率

热门文章

  1. 配置库用户_GEE学习笔记 六十八:【GEE之Python版教程二】配置Python开发环境
  2. python exit 0_python中 os._exit() 和 sys.exit(), exit(0)的用法和区别
  3. 不同映射方式下cache的失效率_详解发动机在不同工况下的喷油量控制方式
  4. [蓝桥杯]算法提高 道路和航路(spfa+deque+快读优化)
  5. 利用Python绘制中国新型冠状病毒疫情图(国家和省)
  6. activiti高亮显示图片_第 09 篇:让博客支持 Markdown 语法和代码高亮
  7. c语言让数组地址对齐,C语言实现比特位数组在目标空间左右居中对齐三种方式...
  8. ie9无法获取未定义或 null 引用的属性“indexof”_前端JS基础篇(二)JS基本数据类型和引用数据类型及检测数据类型方法...
  9. 我是机器人布里茨_9.19机器人钩子范围增加,这些位置阴人无敌,一Q一个小朋友...
  10. springcloud 之 路由网关 zuul