2023-03-05 19:38:12
Series是Pandas中带有标签的一维数组,支持多种数据类型,其核心操作包括创建、索引、增删改查等。以下是详细说明:
一、Series的创建由字典创建字典的键(key)自动成为索引,值(value)成为数据:
dic = {'a': 1, 'b': 2, 'c': 3}s = pd.Series(dic)# 输出:# a 1# b 2# c 3由数组创建
默认索引为从0开始的数字:
arr = np.array([1, 2, 3])s = pd.Series(arr)自定义索引和类型:
s = pd.Series(arr, index=['x', 'y', 'z'], dtype=np.float64)由标量创建需指定索引,值会重复填充:
s = pd.Series(10, index=['a', 'b', 'c'])# 输出:# a 10# b 10# c 10位置索引类似列表,通过整数位置访问:
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])print(s[0]) # 输出:1标签索引通过索引标签访问单个或多个值:
print(s['a']) # 输出:1print(s[['a', 'b']]) # 输出多值Series切片索引
位置切片(末端不包含):
print(s[0:2]) # 输出前两个值标签切片(末端包含):
print(s['a':'b']) # 包含'b'布尔索引通过条件筛选数据:
s = pd.Series([10, 20, None, 40])print(s[s > 15]) # 筛选大于15的值print(s[s.isnull()]) # 筛选空值重新索引(Reindex)调整索引顺序,缺失值填充:
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])s_new = s.reindex(['c', 'b', 'a', 'd'], fill_value=0)# 输出:# c 3# b 2# a 1# d 0对齐操作相同标签的Series会自动对齐计算:
s1 = pd.Series([1, 2], index=['a', 'b'])s2 = pd.Series([3, 4], index=['b', 'c'])print(s1 + s2) # 输出:a→NaN, b→6, c→NaN删除元素
删除指定标签(返回副本):
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])s_dropped = s.drop('a')删除多个标签:
s_dropped = s.drop(['a', 'b'])添加元素
直接通过索引赋值:
s['d'] = 4 # 新增标签'd'合并Series:
s_new = s.append(pd.Series([5], index=['e']))修改元素通过索引直接修改值:
s['a'] = 100 # 修改单个值s[['b', 'c']] = 200 # 修改多个值通过掌握这些操作,可以高效地处理一维带标签数据,为后续数据分析(如DataFrame操作)奠定基础。