3.1.1. 选取操作
Series对象支持通过以下方式查询数据:
- 位置下标 2. 标签索引3. 切片索引 4. 布尔型索引
from pandas import Series import pandas as pd series1 = Series([10, 20, 30, 40], index=list('abcd'))
# 通过位置查询 series1[2]
30
# 通过标签索引查询 series1['b']
20
# 查询多个元素 series1[[0, 2, 3]] series1[['a', 'c', 'd']]
a 10 c 30 d 40 dtype: int64
# 切片 series1[1:3] series1['b':'d']
b 20 c 30 d 40 dtype: int64
# 布尔索引 series1[series1 > 20]
c 30 d 40 dtype: int64
- 删除操作
我们队对Series中的元素执行删除,主要用到Series.drop函数和pop函数.drop删除数据之后,返回删除后的副本.Series.pop在删除源数据的元素
series1 = Series([10, 20, 30, 40], index=list('abcd')) series1
a 10 b 20 c 30 d 40 dtype: int64
# 删除元素返回副本 series1.drop('c')
a 10 b 20 d 40 dtype: int64
series1.drop(['a', 'd'])
b 20 c 30 dtype: int64
# 删除源数据中的元素 series1.pop('d')
40
- 插入操作
series1 = Series([10, 20, 30, 40], index=list('abcd')) series2 = Series([100, 200], index=['g', 'h'])
# 新增一个标签索引值为f,值为100的元素 series1['f'] = 100 series1.append(series2)
a 10 b 20 c 30 d 40 f 100 g 100 h 200 dtype: int64
- Series运算
import numpy as np series1 = Series([10, 20, 30, 40], index=list('abcd')) series2 = Series([1, 2, 3, 4], index=list('abce'))
series1 * 2
a 20 b 40 c 60 d 80 dtype: int64
# 两个series运算,会自动对齐运算 series1 * series2
a 10.0 b 40.0 c 90.0 d NaN e NaN dtype: float64
# 使用Numpy函数 np.sum(series1)
100
# 不对齐运算,将series当做numpy运算 np.add(series1, series2)
a 11 b 22 c 33 d 44 dtype: int64
np.greater(series1, series2)
a True b True c True d True dtype: bool