当前位置: 首页 > news >正文

【第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     float64
     2   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的基础数据处理啦!后续可学习更复杂的操作如分组、合并等。

相关文章:

  • MySQL查询语句的使用
  • TypeScript实现二分查找算法:原理剖析与最佳实践
  • 网页的性能优化
  • 一. 相机模组摆放原理
  • OpenAI深夜直播「偷袭」谷歌!GPT-4o原生图像生成:奥特曼带梗图,AGI战场再燃战火
  • 阶段二:面向对象编程
  • 生活电子常识——cmd不能使用anaconda的python环境,导致输入python打开应用商店
  • 文件上传绕过的小点总结(6)
  • Linux之 权限提升(Linux Privilege Escalation)
  • 进程间通信 命名管道 ─── Linux第24课
  • 同旺科技USB to SPI 适配器 ---- 指令之间延时功能
  • SpringBoot分布式项目实战:观察者模式的高阶应用与避坑指南
  • JWT应用样例
  • 【Android】Activity 生命周期(详细介绍)
  • Mac 常用命令
  • 《Git江湖录·分支篇》
  • 二叉树进阶
  • 【leetcode刷题日记】lc.560-和为 K 的子数组
  • 深入解析 JVM 内存区域及核心概念
  • 掌握Linux项目自动化构建:从零入门make与Makefile
  • 多个“首次”!上市公司重大资产重组新规落地
  • 本周看啥|《歌手》今晚全开麦直播,谁能斩获第一名?
  • 中方是否计划解除或调整稀土出口管制?外交部回应
  • 大环线呼之欲出,“金三角”跑起来了
  • ESG考证虚火:相比证书,知识结构+实战经验更重要
  • 为何选择上海?两家外企提到营商环境、人才资源……