Datawhale学习记录3

本文详细介绍了Pandas中数据的索引操作,包括列索引、行索引、loc和iloc的使用、query方法、多级索引的创建与操作,以及索引的常用方法如交换、删除和重置。文中还提到了如何通过sample函数进行随机抽样,以及如何使用集合运算进行数据筛选。文章最后鼓励读者面对挑战,坚持学习。
摘要由CSDN通过智能技术生成

索引器

表的列索引

列索引是最常见的索引形式,一般通过[ ]来实现。通过[列名]可以从DataFrame中取出相应的列,返回值为Series,例如从表中取出姓名一列:

// A code block
df = pd.read_csv('../data/learn_pandas.csv', usecols = ['School', 'Grade', 'Name', 'Gender', 'Weight', 'Transfer'])

df['Name'].head()
// An highlighted block
0      Gaopeng Yang
1    Changqiang You
2           Mei Sun
3      Xiaojuan Sun
4       Gaojuan You
Name: Name, dtype: object

如果要取出多个列,则可以通过[列名组成的列表],其返回值为一个DataFrame。此外,若要取出单列,且列名中不包含空格,则可以用.列名取出,这和[列名]是等价的。

序列的行索引

【a】以字符串为索引的Series

如果取出单个索引的对应元素,则可以使用[item],若Series只有单个值对应,则返回这个标量值,如果有多个值对应,则返回一个Series.如果取出多个索引的对应元素,则可以使用[items的列表]

【b】以整数为索引的Series

在使用数据的读入函数时,如果不特别指定所对应的列作为索引,那么会生成从0开始的整数索引作为默认索引。当然,任意一组符合长度要求的整数都可以作为索引。

和字符串一样,如果使用[int]或[int_list],则可以取出对应索引元素的值.如果使用整数切片,则会取出对应索引位置的值,注意这里的整数切片同Python中的切片一样不包含右端点。

loc索引器

对于表而言,有两种索引器,一种是基于元素的loc索引器,另一种是基于位置的iloc索引器。(元素的意思是每行每列的名城,例如 性别 年龄 身高, 而位置的意思就是每行所在的索引号 1 2 ……)

loc索引器的一般形式是loc[A, B],其中A代表行的选择,B代表列的选择,如果省略第二个位置写作loc[A],这个是指行的筛选。其中,A/B 的位置一共有五类合法对象,分别是:单个元素、元素列表、元素切片、布尔列表以及函数,下面将依次说明。

【a】A/B 为单个元素

此时,直接取出相应的行或列,如果该元素在索引中重复则结果为DataFrame,否则为Series.

【b】A/B 为元素列表

此时,取出列表中所有元素值对应的行或列:

// A code block
var foo = 'bar';
// An highlighted block
var foo = 'bar';

【c】A/B 为切片

之前的Series使用字符串索引时提到,如果是唯一值的起点和终点字符,那么就可以使用切片,并且包含两个端点,如果不唯一则报错
d】A/B 为布尔列表

在实际的数据处理中,根据条件来筛选行是极其常见的,此处传入loc的布尔列表与DataFrame长度相同,且列表为True的位置所对应的行会被选中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值