【第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.rhkb.cn/news/41502.html

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

相关文章

微信小程序pdf预览

1.示例图 2.代码 fileId&#xff1a;要预览的pdf文件的id viewsFiles(fileId) {wx.showLoading({title: 加载中...});var params {url: "/common/getFile/" fileId ,//后端提供的接口method: "GET",responseType: "arraybuffer",callBack: …

SpringCloud Stream:消息驱动的微服务架构设计

文章目录 引言一、Spring Cloud Stream基础概念二、核心组件和架构三、消息生产者实现四、消息消费者实现五、消息分组与持久化六、消息分区与扩展七、函数式编程模型八、错误处理与重试机制九、测试与监控总结 引言 在当今复杂的分布式系统环境中&#xff0c;微服务架构已经成…

六十天前端强化训练之第三十一天之Webpack 基础配置 大师级讲解(接下来几天给大家讲讲工具链与工程化)

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 一、Webpack 核心概念解析 二、实战&#xff1a;多资源打包配置&#xff08;含完整代码&#xff09; 三、配置深度解析&#xff08;重点部分说明&#xff09; 四、效果演示…

深入理解K8s与Docker的关系:容器化技术的双雄

友情提示&#xff1a;本文内容由银河易创&#xff08;https://ai.eaigx.com&#xff09;AI创作平台gpt-4-turbo模型生成&#xff0c;仅供参考。 在现代云计算及微服务架构的发展中&#xff0c;Docker与Kubernetes&#xff08;K8s&#xff09;作为两大核心技术&#xff0c;被广泛…

nebula graph传统使用Docker进行项目发版

nebula graph传统使用Docker进行项目发版 1. nebula graph服务2. 搭建ES集群3. 注意事项3.1 图数据库的启动顺序3.2 模糊查询失效 1. nebula graph服务 1.在测试服务器中执行如下命令 docker commit 85b6e2b8xxx xxx_nebula_es:1.0.0.2执行docker images之后能看到新的镜像 x…

0322-数据库与前后端的连接、数据库表的增删改查

前端 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>Insert title here</title> <script srcjs/jquery-3.7.1.min.js></script> <script> //jquaryajax发起请求 //传参形式不同 post用data{}…

matlab打开两个工程

1、问题描述 写代码时&#xff0c;需要实时参考别人的代码&#xff0c;需要同时打开2个模型&#xff0c;当模型在同一个工程内时&#xff0c;这是可以直接打开的&#xff0c;如图所示 2、解决方案 再打开一个MATLAB主窗口 这个时候就可以同时打开多个模型了 3、正确的打开方…

深度剖析HTTP协议—GET/PUT请求方法的使用-构造请求的方法

活动发起人小虚竹 想对你说&#xff1a; 这是一个以写作博客为目的的创作活动&#xff0c;旨在鼓励大学生博主们挖掘自己的创作潜能&#xff0c;展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴&#xff0c;那么&#xff0c;快来参加吧&#xff01…

SQL中体会多对多

我们可以根据学生与课程多对多关系的数据库模型&#xff0c;给出实际的表数据以及对应的查询结果示例&#xff0c;会用到JOINLEFT JOIN两种连接 1. 学生表&#xff08;students&#xff09; student_idstudent_name1张三2李四3王五 2. 课程表&#xff08;courses&#xff09…

【android】补充

3.3 常用布局 本节介绍常见的几种布局用法&#xff0c;包括在某个方向上顺序排列的线性布局&#xff0c;参照其他视图的位置相对排列的相对布局&#xff0c;像表格那样分行分列显示的网格布局&#xff0c;以及支持通过滑动操作拉出更多内容的滚动视图。 3.3.1 线性布局Linea…

uv:Rust 驱动的 Python 包管理新时代

在 Python 包管理工具层出不穷的今天&#xff0c;pip、pip-tools、poetry、conda 等各有千秋。而今天要介绍的 uv&#xff0c;则是一款由 Astral 团队推出、采用 Rust 编写的全新工具&#xff0c;目标直指成为 “Python 的 Cargo”。它不仅在性能上表现优异&#xff0c;而且在功…

package.json版本前缀

前言 执行 npm i 下载依赖后&#xff0c;element-plus出现bug&#xff08;单页面多个date-picker同时开启&#xff09;&#xff0c;这是 v2.9.0 的问题&#xff0c;但是项目 package.json 中版本如下&#xff1a; "element-plus": "^2.7.6",乍一看并不是…

CSS+JS 堆叠图片动态交互切换

结合DeepSeek提供的代码&#xff0c;终于实现了堆叠两张图片动态循环切换&#xff0c;以下是代码&#xff1a; 通过绝对定位放了两张图片 <div class"col-lg-5" style"z-index: 40; position: relative;"><img src"images/banner_1.png&quo…

SpringCould微服务架构之Docker(2)

Docker和虚拟机的差别&#xff1a; 虚拟机是在操作系统中模拟硬件设备&#xff0c;然后运行另外一个操作系统。

好用的Markdown阅读编辑器Typora破解记录

Typora破解 一、下载Typora二、安装Typora三、破解Typora &#x1f600; 记录一下Typora破解记录&#xff0c;怕不常用忘记咯&#xff0c;感觉自己现在的脑子就像我的肠子一样&#xff0c;刚装进去就么得了。。。&#x1f614; Typroa算是用起来很舒服的Markdown阅读器了吧&am…

UI前端与数字孪生:打造智慧城市的双引擎

hello宝子们...我们是艾斯视觉擅长ui设计和前端数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 随着信息技术的飞速发展&#xff0c;智慧城市的概念逐渐从理论走向实践。智慧城市旨在通过运用物联网…

“征服HTML引号恶魔:“完全解析手册”!!!(quot;表示双引号)

&#x1f6a8;&#x1f4e2; "征服HTML引号恶魔&#xff1a;“完全解析手册” &#x1f4e2;&#x1f6a8; &#x1f3af; 博客引言&#xff1a;当引号变成"恶魔" &#x1f631; 是否遇到过这种情况&#xff1a; 写HTML时满心欢喜输入<div title"他…

k8s高可用集群安装

一、安装负载均衡器 k8s负载均衡器 官方指南 1、准备三台机器 节点名称IPmaster-1192.168.1.11master-2192.168.1.12master-3192.168.1.13 2、在这三台机器分别安装haproxy和keepalived作为负载均衡器 # 安装haproxy sudo dnf install haproxy -y# 安装Keepalived sudo yum …

node.js笔记

1. Node.js基本概念 1.1 什么是Node.js Node.js是一个开源、跨平台的JavaScript运行环境&#xff0c;广泛应用于各类项目。它基于Google Chrome的V8 JavaScript引擎&#xff0c;性能卓越。 Node.js在单个进程中运行&#xff0c;利用异步I/O操作避免阻塞&#xff0c;能高效处…

关于在vscode中的Linux 0.11 应用程序项目的生成和运行

首先我们需要需要查看镜像文件 查看软盘镜像文件 floppyb.img 中的内容 在 VSCode 的“Terminal”菜单中选择“Run Build Task...”&#xff0c;会在 VSCode 的顶部中间位置弹出一个 可以执行的 Task 列表&#xff0c;选择其中的“打开 floppyb.img”后会使用 Floppy Editor …