Pandas学习笔记——索引

本文详细介绍了Pandas中的索引操作,包括列索引、行索引、loc和iloc使用,多级索引的创建、操作及查询,以及索引的常用方法如交换、删除和重命名。此外,还讨论了随机抽样和集合运算在Pandas中的应用。
摘要由CSDN通过智能技术生成

一、索引器

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

df = pd.read_csv('C:/Users/lz/Desktop/joyful-pandas-master/data/learn_pandas.csv',
                 usecols =['School', 'Grade', 'Name', 'Gender', 'Weight', 'Transfer'])
lsy = df['Name'].head()
print(lsy)

结果为:

0      Gaopeng Yang
1    Changqiang You
2           Mei Sun
3      Xiaojuan Sun
4       Gaojuan You
Name: Name, dtype: object

要取出多个列,则可以通过列名组成的列表,其返回值还是一个DataFrame操作同上。如果要取出单列,且列名不包含空格,可以用.列名取出操作为df.Name.head()
2.序列的行索引
【a】以字符串为索引的Series
如果取出单个索引的对应元素,则可以使用[item],若Series只有单个值对应,则返回这个标量值,则返回一个Series,如果取出多个索引的对应元素,可以使用[item的列表]。如果想要取出某两个索引之间的元素,并且这两个索引是在整个索引中唯一出现,则可以使用切片,同时需要注意这里的切片会包含两个端点,在这里学习了一下切片的语法:[起始:结束:步长]。

s = pd.Series([1, 2, 3, 4, 5, 6],
              index=['a', 'b', 'a', 'a', 'a', 'c'])
sqp = s['c':'b':-2]
print(sqp)

结果为:

c    6
a    4
b    2
dtype: int64

【b】以整数为索引的Series
在使用证书时,如果不指定所对应的列作为索引,那么会生成从0开始的整数索引作为默认索引,其他操作大致相同与字符串大致相同。
3.loc索引器
对于表而言有两种索引器,一种是基于 元素 的 loc 索引器,另一种是基于 位置 的 iloc 索引器。loc 索引器的一般形式是 loc[*, ] ,其中第一个 * 代表行的选择,第二个 * 代表列的选择,如果省略第二个位置写作 loc[] ,这个 * 是指行的筛选。其中, * 的位置一共有五类合法对象,分别是:单个元素、元素列表、元素切片、布尔列表以及函数。
为了演示,先用set_index方法把Name列设为索引。

df = pd.read_csv('C:/Users/lz/Desktop/joyful-pandas-master/data/learn_pandas.csv',
                  usecols = ['School', 'Grade', 'Name', 'Gender',
                             'Weight', 'Transfer'])
df_demo = df.set_index('Name')
set = df_demo.head(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值