【第2月_day10】Pandas数据查看与选择

以下是专为小白设计的 Pandas数据查看与选择 学习内容,从基础到应用逐步讲解,附带清晰示例和注意事项:


一、数据查看:快速了解你的数据

1. head()tail()
  • 作用:查看数据的前几行或后几行,默认显示5行。
  • 示例
    import pandas as pd
    df = pd.read_csv("data.csv")  # 假设读取了一个数据表# 查看前3行
    print(df.head(3))  
    # 查看后2行
    print(df.tail(2))
    
2. info()
  • 作用:显示数据的基本信息(行数、列名、数据类型、非空值数量)。
  • 示例
    df.info()
    
    输出示例
    <class 'pandas.core.frame.DataFrame'>
    RangeIndex: 100 entries, 0 to 99
    Data columns (total 3 columns):#   Column  Non-Null Count  Dtype  
    ---  ------  --------------  -----  0   Name    100 non-null    object 1   Age     95 non-null     float642   Score   90 non-null     float64
    
3. describe()
  • 作用:生成数值型列的统计摘要(均值、标准差、最小值、最大值等)。
  • 示例
    df.describe()
    
    输出示例
                 Age       Score
    count   95.000000   90.000000
    mean    28.526316   85.300000
    std      4.123456    5.678901
    min     18.000000   60.000000
    25%     25.000000   82.000000
    50%     28.000000   85.000000
    75%     32.000000   89.000000
    max     40.000000   99.000000
    

二、数据选择:精准定位你要的数据

1. 列选择
  • 方法1:直接通过列名选择单列(返回Series)。
    df["Name"]  # 选择“Name”列
    
  • 方法2:选择多列(返回DataFrame)。
    df[["Name", "Score"]]  # 同时选择两列
    
  • 方法3:用点符号选择列(仅限列名无空格、无特殊符号时)。
    df.Age  # 等效于 df["Age"]
    
2. 行选择
  • 方法1:通过行索引标签选择(loc)。
    df.loc[0]      # 选择索引为0的行
    df.loc[0:5]    # 选择索引0到5的行(包含5)
    
  • 方法2:通过行位置选择(iloc)。
    df.iloc[0]     # 选择第1行
    df.iloc[0:5]   # 选择第1到第5行(不包含5)
    
3. 条件筛选
  • 单条件筛选
    # 筛选年龄大于30的行
    df[df["Age"] > 30]
    
  • 多条件组合
    # 筛选年龄>25 且 分数>80的行(注意括号)
    df[(df["Age"] > 25) & (df["Score"] > 80)]
    
  • 模糊匹配
    # 筛选名字包含“张”的行
    df[df["Name"].str.contains("张")]
    

三、常见问题与注意事项

  1. 为什么用 lociloc

    • loc 按标签选择(如索引名是字符串时用),iloc 按位置选择(类似列表索引)。
  2. 条件筛选后如何修改数据?

    • 先筛选再赋值,避免链式操作:
      df.loc[df["Age"] > 30, "Score"] = 100  # 正确写法
      
  3. 为什么 df[df.Age > 30] 可以运行?

    • 这是条件筛选的简写形式,等价于 df[df["Age"] > 30]

四、实际应用场景示例

  1. 查看数据概览

    df.head()      # 看前5行
    df.describe()  # 分析数值分布
    
  2. 提取关键信息

    high_score = df[df["Score"] > 90]  # 筛选高分学生
    
  3. 处理缺失值

    df.dropna(subset=["Age"])  # 删除“Age”列缺失的行
    

五、练习小任务

  1. 加载你的数据集,用 head(10) 查看前10行。
  2. info() 查看数据有多少列,哪些列有缺失值?
  3. 筛选出“年龄”大于25岁且“分数”低于60分的所有行。

通过这4个查看方法和3种选择操作,你已经可以快速上手Pandas的基础数据处理啦!后续可学习更复杂的操作如分组、合并等。

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

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

相关文章

Jetpack LiveData 使用与原理解析

一、引言 在 Android 开发中&#xff0c;数据的变化需要及时反映到界面上是一个常见的需求。然而&#xff0c;传统的方式可能会导致代码复杂、难以维护&#xff0c;并且容易出现内存泄漏等问题。Jetpack 组件中的 LiveData 为我们提供了一种优雅的解决方案&#xff0c;它是一种…

Unity2D 五子棋 + Photon联网双人对战

开发环境配置 Unity版本2022.3 创建Photon账号以及申请Photon中国区服务 官网申请账号&#xff1a;Multiplayer Game Development Made Easy Photon Engine 中国区服务&#xff1a; 光子引擎photonengine中文站 成都动联无限科技有限公司(vibrantlink.com) 导入PUN2插件以及…

(UI自动化测试web端)第二篇:元素定位的方法_css定位之属性选择器

看代码里的【find_element_by_css_selector( )】( )里的表达式怎么写&#xff1f; 文章介绍了第四种写法属性选择器 &#xff0c;你要根据网页中的实际情况来判断自己到底要用哪一种方法来进行元素定位。每种方法都要多练习&#xff0c;全都熟了之后你在工作当中使用起来元素定…

预编译能否 100%防 sql 注入?

&#x1f31f; 什么是 SQL 注入&#xff1f; SQL 注入&#xff08;SQL Injection&#xff09;是指攻击者利用特殊输入&#xff0c;让数据库执行它本来不应该执行的代码&#xff0c;从而获取或篡改数据。 就像在考试的时候偷偷改题目&#xff0c;让老师改成你想要的内容&#…

第十五章 | Layer2、Rollup 与 ZK 技术实战解析

&#x1f4da; 第十五章 | Layer2、Rollup 与 ZK 技术实战解析 ——构建下一代高性能区块链应用&#xff0c;从 Solidity 到 zkSync&#xff01; ✅ 本章导读 Layer2 和零知识证明&#xff08;ZK&#xff09;正成为区块链发展的核心方向。 随着主网 Gas 居高不下、TPS 无法满…

2025-03-26 学习记录--C/C++-PTA 6-3 求链式表的表长

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 6-3 求链式表的表长 本题要求实现一个函数&#xff0c;求链式表的表长。 函数接口定义&#xff1a; &…

【Linux】Linux_Ubuntu与Windows之间的文件传输

一、Linux终端命令的复制粘贴 1.打开linux 终端&#xff0c;输入以下命令&#xff1a;&#xff08;注意&#xff0c;需要联网&#xff09; 2.命令行下载&#xff1a; sudo apt-get autoremove open-vm-tools 3.命令行安装&#xff1a; sudo apt-get install open-vm-tools-…

Python Sanic面试题及参考答案

目录 Sanic 的事件循环机制与 uvloop 的关系 Sanic 的 Request/Response 对象生命周期如何管理?如何访问请求上下文? 对比 Sanic 与 Flask/Django 的异步处理模型差异 Sanic 的 Blueprint 机制如何实现模块化路由?如何处理跨蓝图中间件? 如何在 Sanic 中实现 WebSocket…

算法每日一练 (18)

&#x1f4a2;欢迎来到张翊尘的技术站 &#x1f4a5;技术如江河&#xff0c;汇聚众志成。代码似星辰&#xff0c;照亮行征程。开源精神长&#xff0c;传承永不忘。携手共前行&#xff0c;未来更辉煌&#x1f4a5; 文章目录 算法每日一练 (18)删除并获得点数题目描述解题思路解题…

VsCode启用右括号自动跳过(自动重写) - 自录制gif演示

VsCode启用右括号自动跳过(自动重写) - 自录制gif演示 前言 不知道大家在编程时候的按键习惯是怎样的。输入完左括号后编辑器一般会自动补全右括号&#xff0c;输入完左括号的内容后&#xff0c;是按→跳过右括号还是按)跳过右括号呢&#xff1f; for (int i 0; i < a.s…

用Python和Stable Diffusion生成AI动画:从图像到视频的全流程指南

引言 本文将演示如何通过Python代码实现基于文本提示的AI动画生成。我们将使用Stable Diffusion生成连贯图像帧,结合OpenCV合成视频,最终实现一个可自定义的动画生成 pipeline。 一、环境准备 1. 依赖安装 # 安装核心库 pip install diffusers transformers torch numpy …

【Git 常用指令速查表】

Git 常用指令速查表 Git 常用指令速查表目录1. 初始化仓库2. 提交代码流程3. 分支管理4. 远程仓库操作5. 撤销操作6. 查看状态与日志7. 其他实用指令完整操作示例常用场景速查表 Git 常用指令速查表 目录 初始化仓库提交代码流程分支管理远程仓库操作撤销操作查看状态与日志其…

分布式爬虫框架Scrapy-Redis实战指南

引言 在当今数字化的时代背景下&#xff0c;互联网技术的蓬勃兴起极大地改变了旅游酒店业的运营模式与市场格局。作为旅游产业链中的关键一环&#xff0c;酒店业的兴衰与互联网技术的应用程度紧密相连。分布式爬虫技术&#xff0c;尤其是基于 Scrapy 框架的 Scrapy-Redis 扩展…

爬虫:scrapy面试题大全(60个scrapy经典面试题和详解)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 1. 什么是Scrapy?2. Scrapy 框架的组件及其作用?3. Scrapy的工作流程是什么?(运行机制)4. 如何创建一个Scrapy项目?5. 如何定义一个Spider?6. 如何在Scrapy中提取数据?7. Scrapy中的Item是什么?8. Scrapy中的P…

Leetcode12-整数转罗马数字

题目链接&#xff1a;12. 整数转罗马数字 - 力扣&#xff08;LeetCode&#xff09; 看题目限制输入1 < num < 3999&#xff0c;就直接用暴力法写了&#xff0c;还比较简单 代码&#xff1a; char* intToRoman(int num) {char *res (char*)malloc(100);int index 0;i…

WebMvcConfigurer 的 addResourceLocations

在 Spring Boot 的 addResourceLocations 方法中&#xff0c;file: 是一个 URL 前缀&#xff0c;用于指示资源的位置是本地文件系统路径。以下是详细解释&#xff1a; 一、file: 的作用 file: 是 Java 中用于表示本地文件系统的 URL 前缀。它告诉 Spring Boot&#xff0c;资源…

Spring Boot响应压缩配置与优化

一、核心工作机制 1.1 自动协商触发条件 Spring Boot的响应压缩功能基于智能协商机制&#xff0c;需同时满足以下条件方可触发&#xff1a; 客户端支持&#xff1a;请求头包含Accept-Encoding: gzip/deflate数据量阈值&#xff1a;响应体大小超过预设值&#xff08;默认2KB&…

JavaScript 改变 HTML 样式

JavaScript 改变 HTML 样式 JavaScript 改变 HTML 样式的核心是通过操作 DOM 元素的 CSS 属性或 类名 实现动态视觉效果。以下是具体方法与场景解析: 一、直接修改元素的 style 属性 通过 DOM 元素的 style 属性直接设置内联样式,优先级最高: // 修改单个样式 document.…

【vue】vue + vant实现上传图片添加水印

目录 方法1&#xff1a;使用HTML2canvas 说明&#xff1a; 优点 缺点 依赖安装 方法2&#xff1a;使用canvas结合vant中组件 增加水印方法 在vue组件中使用 要点 方法1&#xff1a;使用HTML2canvas 使用html2canvas来处理水印的生成&#xff0c;需要就给水印元素转换为…

【深度破解】爬虫反反爬核心技术实践:验证码识别与指纹伪装

一、反爬技术体系全景图 现代Web应用的常见反爬手段&#xff1a; mermaid&#xff1a; graph TDA[反爬体系] --> B[行为特征检测]A --> C[验证码体系]A --> D[指纹追踪]B --> B1[请求频率]B --> B2[鼠标轨迹]B --> B3[页面停留时间]C --> C1[图形验证码…