python的 pandas.Dataframe 和 pandas.Series基础内容
目录
0 有一个比较麻烦琐碎的地方
1 python pandas.Dataframe
2 pd.concat() 可以合并 pd.Dataframe
2.1 pd.concat() 合并规则
3 pd.Dataframe.drop() 删除行列的操作
4 pd.Dataframe 列操作
5 pd.Dataframe 行操作
5.1 sample_dataframe2.head(n=2) 取前面的n行,不能任意
5.2 sample_dataframe2.query("查询条件")取前面的n行,不能任意
6 可以用pd.Dataframe().query() 方法 同时进行行和列筛选!
7 序列 pandas.Series()
7.1 什么是序列
7.2 将pd.Dataframe取出1列会变成pd.Series
7.3 序列 pd.series 和数组array() 的转化
0 有一个比较麻烦琐碎的地方
- 所有的方法里,下面方法的参数,基本都是加一个""括起来基本就够了
- 有些地方需要多层的中括号,[] , 比如 [ [ ] ]
1 python pandas.Dataframe
- 本质是一个二维表
- 特殊点,在于多了一个默认的序号列
- 语法
- pd.Dataframe({key1:value1,key2:value2})
2 pd.concat() 可以合并 pd.Dataframe
2.1 pd.concat() 合并规则
- pd.concat() 语法
- pd.concat([pd.Dataframe1,pd.Dataframe1],axis=0/1)
- pd.concat() 可以指定合并的方向,默认是axis=0,也就是按行的方向合并
- pd.concat() 可以指定合并的方向,如果是axis=1,就是按列的方向进行合并
import numpy as np
import pandas as pd
import scipy as sp# 可以用list 生成np.array()
sample_array1=np.array([1,2,3])
sample_array2=np.array([10,20,30])
sample_array3=np.array([100,200,300])# 进一步,可以用np.array()生成pd.Series
# 注意pd.Series 首字母一定大写
sample_series1=pd.Series(sample_array1)
print(sample_series1)
print()# 进一步,也可以用np.array()生成pd.DataFrame
# 注意pd.DataFrame 首字母一定大写
sample_dataframe1=pd.DataFrame({"col1":sample_array1,"col2":sample_array2,"col3":sample_array3,})
print(sample_dataframe1)
print()sample_dataframe2=pd.DataFrame({"col1":sample_array1,"col2":sample_array2+1,"col3":sample_array3+1,})
print(sample_dataframe2)
print()print(pd.concat([sample_dataframe1,sample_dataframe2])) # pd.concat()默认合并是axis=0, 按行合并
print()print(pd.concat([sample_dataframe1,sample_dataframe2],axis=1))
print()
3 pd.Dataframe.drop() 删除行列的操作
- pd.Dataframe.drop()
- pd.Dataframe.drop("行名/列名",axis=0/1)
- axis=0 是行
- 注意:列名一般是字符串,如 "col1"
- 注意:行名一般是数字,如 1
4 pd.Dataframe 列操作
- pd.Dataframe 数据帧
- 操作列的办法有两种
- 直接引用 pd.Dataframe 对象的属性,pd.Dataframe.列名(不加字符串引号)
- 类切片的列操作方法
- pd.Dataframe["列名1"]
- pd.Dataframe[["列名1","列名2","列名3"]] #注意是双层中括号
5 pd.Dataframe 行操作
- 行操作有两种方法
- sample_dataframe2.head() 方法
- sample_dataframe2.query()方法
5.1 sample_dataframe2.head(n=2) 取前面的n行,不能任意
- n 只能是前面的连续列
print(sample_dataframe2)
print()
print(sample_dataframe2.head(n=2))
5.2 sample_dataframe2.query("查询条件")取前面的n行,不能任意
- sample_dataframe2.query("查询条件")
- sample_dataframe2.query("可以是任意的一个行条件,不要求非是index的值!")
- sample_dataframe2.query("条件1 | 条件2") # or 关系
- sample_dataframe2.query("条件1& 条件2") # and关系
6 可以用pd.Dataframe().query() 方法 同时进行行和列筛选!
print(sample_dataframe2.query("col3==301")[["col2","col3"]])
7 序列 pandas.Series()
7.1 什么是序列
- 特殊之处:默认带一个序号列
- 可以认为是带 序号的 数组/列表
- pandas.Series( data, index, dtype, copy)
data:输入的数据,可以是列表、常量、ndarray 数组等。
index:索引值必须是唯一的,与data的长度相同,默认为np.arange(n)
dtype:数据类型
copy:是否复制数据,默认为false
7.2 将pd.Dataframe取出1列会变成pd.Series
- 将pd.Dataframe取出1列会变成pd.Series
- 也就是说 pd.Series 是 pd.Dataframe 的其中1列!
- 注意方法不同有差别
- 如果是单取出1列,生成pd.Series
- 如果是单取出多列,生成的只是更小的pd.Dataframe,并不是pd.Series,很好理解,不要搞错。
print(sample_dataframe2)
print()
print(sample_dataframe2.col2)
print()
print(sample_dataframe2["col2"])
print()
print(sample_dataframe2[["col2"]])
print()print(type(sample_dataframe2))
print()
print(type(sample_dataframe2.col2))
print()
print(type(sample_dataframe2["col2"]))
print()
print(type(sample_dataframe2[["col2"]]))
7.3 序列 pd.series 和数组array() 的转化
- pd.series.values 即可以生成对应的 np.array() 数组!
print(sample_dataframe2)
print()
print(sample_dataframe2.col2)
print()
print(sample_dataframe2.col2.values)
print()print(type(sample_dataframe2))
print()
print(type(sample_dataframe2.col2))
print()
print(type(sample_dataframe2.col2.values))
print()
相关文章:

python的 pandas.Dataframe 和 pandas.Series基础内容
目录 0 有一个比较麻烦琐碎的地方 1 python pandas.Dataframe 2 pd.concat() 可以合并 pd.Dataframe 2.1 pd.concat() 合并规则 3 pd.Dataframe.drop() 删除行列的操作 4 pd.Dataframe 列操作 5 pd.Dataframe 行操作 5.1 sample_dataframe2.head(n2) 取前面的n行&…...

golang学习5
为结构体添加方法 异常处理过程...

【C语言】11月第二次测试 ing
文章目录 1.输入n名同学的成绩和学号,对成绩排序,输出对应学号 要求重复的学号重新输入 计算n名同学的平均值,对小于60分的同学删除分数 大于60分的同学输出:优秀:几人,良好:几人,中…...

行列式的理解与计算:线性代数中的核心概念
开发领域:前端开发 | AI 应用 | Web3D | 元宇宙 技术栈:JavaScript、React、ThreeJs、WebGL、Go 经验经验:6 年 前端开发经验,专注于图形渲染和 AI 技术 开源项目:github 简智未来、数字孪生引擎、前端面试题 大家好&a…...

按出生日期排序(结构体专题)
题目描述 送人玫瑰手有余香,小明希望自己能带给他人快乐,于是小明在每个好友生日的时候发去一份生日祝福。小明希望将自己的通讯录按好友的生日排序排序,这样就查看起来方便多了,也避免错过好友的生日。为了小明的美好愿望&#x…...

【C++】拆分详解 - 多态
文章目录 一、概念二、定义和实现1. 多态的构成条件2. 虚函数2.1 虚函数的重写/覆盖2.2 虚函数重写的两个例外 3. override 和 final关键字4. 重载/重写/隐藏的对比5. 例题 三、纯虚函数和抽象类四、多态的原理1. 虚函数表2. 实现原理3. 动态绑定和静态绑定 总结 一、概念 多态…...

Python世界:力扣题解875,珂珂爱吃香蕉,中等
Python世界:力扣题解875,珂珂爱吃香蕉,中等 任务背景思路分析代码实现坑点排查测试套件本文小结 任务背景 问题来自力扣题目875 Koko Eating Bananas,大意如下: Koko loves to eat bananas. There are n piles of bana…...

Java设计模式 —— Java七大设计原则详解
文章目录 前言一、单一职责原则1、概述2、案例演示 二、接口隔离原则1、概述2、案例演示 三、依赖倒转原则1、概述2、案例演示 四、里氏替换原则1、概述2、案例演示 五、开闭原则1、概述2、案例演示 六、迪米特法则1、概述2、案例演示 七、合成/聚合复用原则1、概述2、组合3、聚…...

SpringBoot学习记录(六)配置文件参数化
SpringBoot学习记录(六)配置文件参数化 一、参数提取到配置文件中二、yml配置文件三、ConfigurationProperties注解实现批量属性注入 一、参数提取到配置文件中 定义在代码中的参数的值分散在各个不同的文件中,不便于后期维护管理࿰…...

android 使用MediaPlayer实现音乐播放--获取音乐数据
前面已经添加了权限,有权限后可以去数据库读取音乐文件,一般可以获取全部音乐、专辑、歌手、流派等。 1. 获取全部音乐数据 class MusicHelper {companion object {SuppressLint("Range")fun getMusic(context: Context): MutableList<Mu…...

.net 8使用hangfire实现库存同步任务
C# 使用HangFire 第一章:.net Framework 4.6 WebAPI 使用Hangfire 第二章:net 8使用hangfire实现库存同步任务 文章目录 C# 使用HangFire前言项目源码一、项目架构二、项目服务介绍HangFire服务结构解析HangfireCollectionExtensions 类ModelHangfireSettingsHttpAuthInfoUs…...

第 22 章 - Go语言 测试与基准测试
在Go语言中,测试是一个非常重要的部分,它帮助开发者确保代码的正确性、性能以及可维护性。Go语言提供了一套标准的测试工具,这些工具可以帮助开发者编写单元测试、表达式测试(通常也是指单元测试中的断言)、基准测试等…...

VB.Net笔记-更新ing
目录 1.1 设置默认VS的开发环境为VB.NET(2024/11/18) 1.2 新建一个“Hello,world”的窗体(2024/11/18) 1.3 计算圆面积的小程序(2024/11/18) 显示/隐式 声明 (2024/11/18&…...

centos 服务器 docker 使用代理
宿主机使用代理 在宿主机的全局配置文件中添加代理信息 vim /etc/profile export http_proxyhttp://127.0.0.1:7897 export https_proxyhttp://127.0.0.1:7897 export no_proxy"localhost,127.0.0.1,::1,172.171.0.0" docker 命令使用代理 例如我想在使用使用 do…...

python语言基础
1. 基础语法 Q: Python 中的变量与数据类型有哪些? A: Python 支持多种数据类型,包括数字(整数 int、浮点数 float、复数 complex)、字符串 str、列表 list、元组 tuple、字典 dict 和集合 set。每种数据类型都有其特定的用途和…...

Python中的Apriori库详解
文章目录 Python中的Apriori库详解一、引言二、Apriori算法原理与Python实现1、Apriori算法原理2、Python实现1.1、数据准备1.2、转换数据1.3、计算频繁项集1.4、提取关联规则 三、案例分析1、导入必要的库2、准备数据集3、数据预处理4、应用Apriori算法5、生成关联规则6、打印…...

MongoDB比较查询操作符中英对照表及实例详解
mongodb比较查询操作符中英表格一览表 NameDescription功能$eqMatches values that are equal to a specified value.匹配值等于指定值。$gtMatches values that are greater than a specified value.匹配值大于指定值。$gteMatches values that are greater than or equal to…...

掌上单片机实验室 – RT-Thread + ROS2 初探(25)
在初步尝试RT-Thread之后,一直在琢磨如何进一步感受它的优点,因为前面只是用了它的内核,感觉和FreeRTOS、uCOS等RTOS差别不大,至于它们性能、可靠性上的差异,在这种学习性的程序中,很难有所察觉。 RT-Threa…...

Kotlin中的?.和!!主要区别
目录 1、?.和!!介绍 2、使用场景和最佳实践 3、代码示例和解释 1、?.和!!介绍 Kotlin中的?.和!!主要区别在于它们对空指针的处理方式。 ?.(安全调用操作符):当变量可能为null时,使用?.可以安全地调用其方法或属性…...

iframe嵌入踩坑记录
iframe嵌入父子页面token问题 背景介绍 最近在做在平台A中嵌入平台B某个页面的需求,我负责的是平台B这边,使这个页面被嵌入后能正常使用。两个平台都实现了单点登录。 其实这是第二次做这个功能了,原本以为会很顺利,但没想到折腾…...

面试小札:Java的类加载过程和类加载机制。
Java类加载过程 加载(Loading) 这是类加载过程的第一个阶段。在这个阶段,Java虚拟机(JVM)主要完成三件事: 通过类的全限定名来获取定义此类的二进制字节流。这可以从多种来源获取,如本地文件系…...

Spring 上下文对象
1. Spring 上下文对象概述 Spring 上下文对象(ApplicationContext)是 Spring 框架的核心接口之一,它扩展了 BeanFactory 接口,提供了更多企业级应用所需的功能。ApplicationContext 不仅可以管理 Bean 的生命周期和配置࿰…...

Wireshark抓取HTTPS流量技巧
一、工具准备 首先安装wireshark工具,官方链接:Wireshark Go Deep 二、环境变量配置 TLS 加密的核心是会话密钥。这些密钥由客户端和服务器协商生成,用于对通信流量进行对称加密。如果能通过 SSL/TLS 日志文件(例如包含密钥的…...

测试人员--如何区分前端BUG和后端BUG
在软件测试中,发现一个BUG并不算难,但准确定位它的来源却常常让测试人员头疼。是前端页面的问题?还是后台服务的异常?如果搞错了方向,开发人员之间的沟通效率会大大降低,甚至导致问题久拖不决。 那么&#…...

【Vue】指令扩充(指令修饰符、样式绑定)
目录 指令修饰符 按键修饰符 事件修饰符 双向绑定指令修饰符 输入框 表单域 下拉框 单选按钮 复选框 样式绑定 分类 绑定class 绑定style tab页切换示例 指令修饰符 作用 借助指令修饰符,可以让指令的功能更强大 分类 按键修饰符:用来…...
Ubuntu20.04 Rk3588 交叉编译ffmpeg7.0
firefly 公司出的rk3588的设备,其中已经安装了gcc 交叉编译工具,系统版本是Ubuntu20.04。 使用Ubuntu20.04 交叉编译ffmpeg_ubuntu下配置ffmpeg交叉编译器为arm-linux-gnueabihf-gcc-CSDN博客文章浏览阅读541次。ubuntu20.04 交叉编译ffmpeg_ubuntu下配…...

HTML常用表格与标签
一、table表格标签: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <!--有大小为1的边框--> <table border"1">…...

网络安全与加密
1.Base64简单说明描述:Base64可以成为密码学的基石,非常重要。特点:可以将任意的二进制数据进行Base64编码结果:所有的数据都能被编码为并只用65个字符就能表示的文本文件。65字符:A~Z a~z 0~9 / 对文件进行base64编码…...

MySQL数据库-索引的介绍和使用
目录 MySQL数据库-索引1.索引介绍2.索引分类3.创建索引3.1 唯一索引3.2 普通索引3.3 组合索引3.4 全文索引 4.索引使用5.查看索引6.删除索引7.索引总结7.1 优点7.2 缺点7.3 索引使用注意事项 MySQL数据库-索引 数据库是用来存储数据,在互联网应用中,数据…...

【图像去噪】论文精读:Pre-Trained Image Processing Transformer(IPT)
请先看【专栏介绍文章】:【图像去噪(Image Denoising)】关于【图像去噪】专栏的相关说明,包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、去噪概述、文章目录、资料汇总、问题汇总(更新中) 文章目录 前言Abstract1. Introduction2. Related…...