Pandas分类总结之:索引

本文详细介绍了Pandas中的索引操作,包括表的列索引、行索引、loc和iloc索引器的使用,以及query方法和随机抽样。深入探讨了多级索引的创建、操作和查询,如IndexSlice对象的运用。同时涵盖了索引的常用方法,如索引层的交换、删除、属性修改以及设置与重置。文章通过实例展示了如何在数据分析中高效地利用Pandas的索引功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 索引器

1.1 表的列索引

df[列名] ,返回值为Series,当列名不包含空格,可用 df.列名 取出

df[[列名组成的列表]] ,返回值为DataFrame

1.2 序列的行索引

  1. 以字符串为索引的Series

    s[item] , 若单个值对应,则返回这个标量值,如果有多个值对应,则返回一个Series

    s[[item的列表]] ,返回一个Series

    s[start: end: step] ,如果是唯一值的起点和终点字符才可以使用切片,且包含两个端点;如果不唯一,需要排序后才可使用切片

  2. 以整数为索引的Series

    s[int] ,若单个值对应,则返回这个标量值,如果有多个值对应,则返回一个Series

    s[[int的列表]] , 返回一个Series

    s[start: end: step] ,整数切片,两个索引不允许有重复值,取出对应索引位置的值,不包含右端点

1.3 loc索引器

df.loc[*, *] 基于元素的loc索引器,第一个*代表行的选择,第二个*代表列的选择,如果省略第二个,就是行筛选

*位置一共有五类合法对象,分别是:

  • df.loc[单个元素]
    • eg1:df.loc['row_name']df.loc['col_name'],如果该元素在索引中重复则结果为DataFrame,否则为Series
    • eg2:df.loc['row_name', 'clo_name'],如果该元素在索引中重复则结果为Series,否则为单个元素
  • df.loc[元素列表]
    • eg1:df.loc[['row_name1','row_name2',...],['clo_name1','clo_name2',...]],取出列表中所有元素值对应的行或列
  • df.loc[元素切片]
    • eg1:df.loc['row_namex':'row_namey', 'clo_namex':'clo_namey'],字符切片,如果是唯一值的起点和终点字符才可以使用切片,且包含两个端点
    • eg2:df.loc[3:5],整数切片,如果是唯一值的起点和终点数字才可以使用切片,且包含两个端点
  • df.loc[布尔列表]
    • 传入loc的布尔列表要与DataFrame长度相同
    • eg1:df.loc[df.clo_name > num]
    • eg2:df.loc[df.col_name.isin(['name1','name2'])]
    • eg3:df.loc[condition1 & condition2],复合条件可用|(或), &(且), ~(取反)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值