其他
Series(二):Series的元素获取方式
大家好,我是黄同学
今天给大家介绍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蹲
朱小五