查看原文
其他

Series(二):Series的元素获取方式

黄伟呢 凹凸数据 2021-08-09
↑ 关注 + 星标 ~ 有趣的不像个技术号每晚九点,我们准时相约  


大家好,我是黄同学


今天给大家介绍Series的元素获取方式。


关于切片和索引获取Series中的元素,可以参考我的另外一篇文章,对比学习效果会更好:《手撕numpy(三):切片和索引详解》


1)使用head()和tail()函数获取Series中的元素

x = pd.Series(np.arange(1,10),index=list("abcdefghij"))
# shuffle()函数:用于打乱元素的排列顺序;
np.random.shuttle()
display(x)

display(x.head())


① 使用head()获取前5条数据


② 使用tail()获取后5条数据


③ head()和tail()传入参数,获取任意条数据


用法很简单,只需要往head()和tail()中传入一个整数值,就可以获取任意前n行,或者任意后n行。



注意:这两个函数在使用python做数据分析的时候,会经常用到,因此要好好记忆一下。


2)使用切片获取Series中的元素


x = pd.Series(np.arange(1,11),index=list("abcdefghij"))
display(x)

display(x[::-1])
display(x[-4:-8:-1])
display(x[4:8:1])

结果如下:


3)使用索引获取Series中的元素


① 普通索引


Series与ndarray数组都可以通过索引访问元素,不同点在于:

  • ndarray就是类似与list的索引,支持负数索引。

  • Series是类似字典key:value形式的索引,不支持负数索引。


操作如下:

a = np.array([1, 2, 3])
display(a[-1])

s = pd.Series([1, 2, 3], index=[0, 1, 2])
display(s)
display(s[-1])

结果如下:


② 通过“整数数组”进行索引


操作如下:

x = pd.Series([1,3,5,7,9],index=[1,2,3,4,5])
display(x)
display(x[[1,3,5]])

y = pd.Series([1,3,5,7,9],index=list("abcde"))
display(y)

display(y[[0,2,4]])
display(y[["a","c","e"]])

结果如下:


③ 通过“布尔数组”进行索引(这个用的最多)

x = pd.Series(np.random.randint(3,10,5),index=list("abcde"))
display(x)

display(x > 5)
display(x[x>5])
display(x[[True,True,False,True,False]])

结果如下:


4)通过loc和iloc获取Series中的元素


(推荐使用这种方式)


Series的索引分为位置索引和标签索引。loc表示的是标签索引,iloc表示的是位置索引。


① 访问一个元素

x = pd.Series([10,23,31,16],index=list("abcd"))
display(x)

# 使用标签索引
display(x.loc["a"])
# 使用位置索引
display(x.iloc[0])

结果如下:


② 访问多个元素

x = pd.Series([10,23,31,16],index=list("abcd"))
display(x)

# 使用标签数组
display(x.loc[["a","d"]])
# 使用位置数组
display(x.iloc[[1,3]])

结果如下:


注意:索引返回的都是原始数组的拷贝。上述第3)4)都是索引方式获取数组元素,因此返回的都是原始数组的拷贝。







近期文章,点击图片即可查看






后台回复关键词「进群」,即刻加入读者交流群~


numpy蹲,numpy蹲,numpy蹲完,pandas蹲

朱小五

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存