一篇python常见的Pandas的数据功能的使用

news2024/12/26 22:47:06

当我们学习了如何使用 Pandas 进行数据的导入与导出,这为我们后续的数据处理打下了基础.此次我们将重点讨论数据选择与过滤.通过掌握这一部分的知识,你将能够轻松地从复杂的数据集中提取出所需的信息.接下来,我们将通过一些实例来逐步了解这些操作.

数据选择

数据选择主要是针对 Pandas 的 DataFrameSeries 进行的操作.我们可以通过行索引和列索引来选择数据.

基本选择

首先,载入一个示例数据集:

import pandas as pd

# 创建一个示例数据集
data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '年龄': [25, 30, 22, 28],
    '城市': ['北京', '上海', '广州', '深圳']
}

df = pd.DataFrame(data)
print(df)

上面的代码会生成如下 DataFrame

   姓名  年龄   城市
0  张三  25   北京
1  李四  30   上海
2  王五  22   广州
3  赵六  28   深圳

列选择

我们可以通过列名称选择特定的列.使用 [].loc 方法:

# 选择单列
print(df['姓名'])

# 选择多列
print(df[['姓名', '城市']])

输出结果如下:

0    张三
1    李四
2    王五
3    赵六
Name: 姓名, dtype: object

   姓名   城市
0  张三   北京
1  李四   上海
2  王五   广州
3  赵六   深圳

行选择

可以使用 ilocloc 方法来选择行.

# 选择第一行
print(df.iloc[0])

# 选择前两行
print(df.iloc[0:2])

# 使用 loc 选择第二行(注意 loc 是包含结束的)
print(df.loc[1])

输出结果为:

姓名      张三
年龄       25
城市      北京
Name: 0, dtype: object

   姓名  年龄   城市
0  张三  25   北京
1  李四  30   上海

姓名      李四
年龄       30
城市      上海
Name: 1, dtype: object

数据过滤

数据过滤是指根据某些条件选择符合条件的数据行或列.

一维过滤

可以通过布尔索引来过滤数据.例如,我们想选择年龄大于 25 岁的人:

# 过滤年龄大于 25 的数据
age_filter = df[df['年龄'] > 25]
print(age_filter)

输出结果为:

   姓名  年龄   城市
1  李四  30   上海
3  赵六  28   深圳

多条件过滤

我们还可以结合多个条件进行过滤.例如,选择年龄大于 25 并且城市是“上海”的人:

# 过滤年龄大于 25 且城市为“上海”的数据
multi_filter = df[(df['年龄'] > 25) & (df['城市'] == '上海')]
print(multi_filter)

输出结果为:

   姓名  年龄   城市
1  李四  30   上海

选择特定行和列

我们也可以在过滤后选择特定的列.以下是一个结合 loc 的例子:

# 过滤后选择特定的列
filtered_result = df.loc[df['年龄'] > 25, ['姓名', '城市']]
print(filtered_result)

输出结果为:

   姓名   城市
1  李四   上海
3  赵六   深圳

结论

在这一节中,我们学习了如何在 Pandas 数据框中选择和过滤数据.掌握这些基本操作之后,在数据分析的过程中你将能更有效地处理和筛选出你感兴趣的信息.这些技能为接下来的数据清洗与处理奠定了坚实的基础.

感谢大家的关注和支持!想了解更多编程精彩知识内容,请关注我的微信公众号:Python小胡子,有最新最前沿的的知识和人工智能AI与大家共享,同时,如果你觉得这篇文章对你有帮助,不妨点个赞,并点击关注.动动你发财的手,万分感谢!!!

原创文章不易,求点赞、在看、转发或留言,这样对我创作下一个精美文章会有莫大的动力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2108518.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二分查找 ,看这一篇就够了

什么是二分查找? 二分查找(Binary Search)是一种高效的查找算法,适用于在有序数组中查找特定元素。其基本思想是通过逐步缩小查找范围,每次将查找区间减半,从而大大提高查找效率。二分查找的时间复杂度为O(…

B样条曲线测试

实验效果: 绿色为A*规划的路径,蓝色为Bspline曲线 介绍 对A* 生成的路径进行B样条(A* 和Bspline都是佬们写好的,我直接拿来用) 样条曲线相关可参考文章:详解样条曲线(上)&#x…

基于LaMA-Factory微调llama3.1-8B

大模型的训练目前主要分为Pre-training和Post-training,受限于资源算力等原因,实际工作中更多用到的是SFT。 对于普通用户来说SFT仍然具备较高的门槛,需要了解一定的理论基础,准备用于微调的数据,由于不同基座模型相应…

xilinx通用RAM或者FIFO设计

1、在 Vivado 中,XPM(Xilinx Parameterized Macros)是 Xilinx 提供的一组预定义的、参数化的硬件描述语言 (HDL) 宏模块,用于简化设计流程和提高设计效率。XPM 模块通常用于实现常见的功能,比如存储器(RAM/…

PWR电源控制(低功耗模式)

1 PWR简介 1 程序后面是空循环,即使不用也会耗电,所以有了低功耗(例如遥控器) 2 也要保留唤醒模式,如串口接收数据中断唤醒,外部中断唤醒,RTC闹钟唤醒,在需要工作是,ST…

docker装大米cms(damicms)各种cms可用相同办法

1.docker pull 拉取镜像文件 docker pull medicean/vulapps:base_lamp 2.使用docker运行 docker run -d -p 8080:80 medicean/vulapps:base_lamp 3将需要搭建的 CMS 项目源码放到 kali 中,这里以 damiCMS 为例 查看容器id docker ps 4进入dmCMS 所在目录&#…

基于Java+SpringBoot+Vue的新闻稿件管理系统

基于JavaSpringBootVue的新闻稿件管理系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末附源码下载链接🍅 哈…

利用高德API获取整个城市的公交路线并可视化(四)

副标题:公共汽电车站点覆盖率——以厦门市公交线路为例 书接上回,我们有了公交的线路、站点数据,并同时对数据质量进行了校验,但是不同城市情况不同,需要看当地对公交交通数据的开放程度,部分城市建设的有…

Linux系统运行模式以及链接文件

一.Linux系统运行模式 如上图所示,可以使用runlevel这条命令去查看当前系统的运行模式。 如上图所示,可以使用这条命令使得机器以字符模式启动。 如上图所示,可以使用这条命令使得机器以图像化界面启动。 二.链接文件 链接文件类型&#xff…

Aigtek电压放大器的技术指标是什么

电压放大器是一种电路,用于将低电压信号放大为高电压信号。它在电子、通信、音频和视频等领域广泛应用。下面是电压放大器电路的一些特点。 放大倍数高:电压放大器的主要功能是将输入信号的幅度放大到所需的输出电压。因此,电压放大器的一个重…

(Postman)接口测试基础应用

目录 ​编辑 1.简介与分类 2.接口测试流程及用例设计 3. 实战接口介绍 4.postman的简介,安装,注册 5.get请求和响应页签详解 6. 问题​编辑 1.环境变量和全局变量:globals--全局变量 2.接口关联 1.简介与分类 1.接口测试是测试系统组…

重头开始嵌入式第三十四天(数据库二)

sqlite3的一些补充 目录 sqlite3的一些补充 1.事物 2.连接,联合 3.触发器 4.子查询 1.事物 数据库事务是数据库管理系统执行过程中的一个逻辑单位,它由一系列对数据库的操作组成。 一、事务的特性 1. 原子性(Atomicity&#xff09…

移动端设计规范:提升用户体验的核心要素

随着移动互联网的普及,移动端设计已成为用户体验的关键一环。设计师不仅需要考虑视觉美感,还必须确保设计符合用户操作习惯,提高用户的操作效率。本文将探讨移动端设计的核心规范,帮助设计师打造出既美观又实用的应用界面。 一、…

uniapp动态页面API

目录 uni.setNavigationBarTitle动态设置标题 uni.showNavigationBarLoading为标题添加加载动画与uni.hideNavigationBarLoading停止加载动画 ​编辑 uni.setNavigationBarColor用于设置导航栏的颜色,包括背景颜色和文字颜色。这对于自定义应用的主题和风格非常有…

高质量的小间距LED显示屏有什么表现

随着企业对宣传和品牌形象提升的需求日益增长,LED显示屏凭借其立体化宣传和低成本优势,逐渐成为企业宣传的重要工具。近年来,小间距LED显示屏在市场上逐渐普及,生产厂家和产品种类也不断增加。面对如此众多的选择,许多…

合法的数字货币有哪些类型

合法数字货币的类型 一、常见的合法数字货币类型 比特币(Bitcoin,BTC):作为世界上第一个数字货币,由中本聪在 2009 年创造。其特点包括去中心化、匿名性和安全性较高,市值较高。以太坊(Ethereu…

智能家居系统(基于STM32F103C8T6标准库+FreeRTOS+Qt串口开发实现)

视频演示:基于STM32F103C8T6标准库FreeRTOSQt串口开发实现的智能家居项目_哔哩哔哩_bilibili 基于STM32F103C8T6标准库FreeRTOSQt串口开发实现的智能家居项目: https://pan.baidu.com/s/1f41gAfOOnlcQoKoMx3o84A?pwd6j2g 提取码: 6j2g 注:本项目为学习完…

WPS中JS宏使用说明(持续优化...)

前言 好久没发文章了,今天闲来无事发篇文章找找之前的码字感觉。 正文 最近在写教案,发现之前的技术又可以派上用场了。就是JS,全称JavaScript,这个语言太强大了,我发现WPS里的宏现在默认就是JS。功能选项如下图&…

Android 打开 GBK项目如何设置成UTF-8

1.标题 今天打开一个eclipse老项目,编码格式为GBK,Android studio导入项目报错,本人想到一个方案就是批量修改文件格式从 GBK到 UTF-8,这样可以一键解决问题 2.开发脚本 使用前请备份代码 使用前请备份代码 使用前请备份代码…

关于paddleocr文字识别内存泄漏的问题

最近在写一个小项目,需要使用paddleocr进行文字识别,然后发现存在严重的内存泄漏,运行时间越长,cpu和内存的占用率就越高。很容易导致程序的崩溃。 代码的主要逻辑如下: import os import numpy as np from paddleocr…