Series的索引和切片
因为Series只有一列,因此一般只对行进行操作,索引分为隐式索引和显示索引,因此不同的方式操作起来也不一样。
Series隐式索引的操作
lst = [1,3,5,6,10,23] s = pd.Series(lst)
s[0] # 取某一行,也可以说取某个元素
输出值为:
1
s[[0,1]] # 取多行时,里面则是列表,可存储多个
输出值为:
0 1 1 3 dtype: int64
s[0:2] # 切片操作,取0-2行,但是只能取到0和1行,顾头不顾尾
输出值为:
0 1 1 3 dtype: int64
s.iloc[0:4] # 使用iloc来专门对隐式索引进行相关操作,也是只能取到0和1行,顾头不顾尾
输出值为:
0 1 1 3 2 5 3 6 dtype: int64
s.iloc[[0,4]] # 使用iloc来专门对隐式索引进行相关操作,跟s[[0,1]]一样,指第0行和第4行的值
输出值为:
0 1 4 10 dtype: int64
Series显式索引的操作
lst = [1,3,5,6,10,23] s1 = pd.Series(lst,index=["A","B","C","D","E","F"])
A 1 B 3 C 5 D 6 E 10 F 23 dtype: int64
s1["A"] # 取某行或单个元素
输出值为:
1
s1[["A","B","F"]] # 取多行,可以是连续的,也可以是不连续的,顺序随意
输出值为:
A 1 B 3 F 23 dtype: int64
s1["A":"E"] # 切片,取A行和B行,这里的B行是可以取到的,头和尾都可以取到
输出结果为:
A 1 B 3 C 5 D 6 E 10 dtype: int64
s1.loc["A":"D"] # 使用loc来专门对显式索引进行相关操作,这里的B行也可以取到
输出结果为:
A 1 B 3 C 5 D 6 dtype: int64
s1.loc[["A","B", "E", "D"]] # 使用loc来专门对显式索引进行相关操作,顺序随意
输出结果为:
A 1 B 3 E 10 D 6 dtype: int64
总结
- Series的索引和切片只针对行而言,因为它只有一列
- loc是对于显式索引的相关操作(对于标签的处理),iloc是针对隐式索引的相关操作(对于整数的处理)。
- 我们发现其实s[0:2] 与 s.iloc[0:2]没有太大差别(显式索引也是一样),这并不说明iloc就没有用,个人觉得它更有意义的是在DataFrame当中使用,后面会讲到。
原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/02-yongyushujukexuede-python-jichuzhishizhipandas/.html