探索Pandas中的Series函数,数据科学的瑞士军刀
        常识
        2024年10月28日 07:17        39
        庚翰
		        
    
    
                	    
    在数据科学和数据分析领域,Pandas 是一个不可或缺的工具,它提供了丰富的数据结构和数据操作功能,使得数据处理变得更加高效和直观。Series 是 Pandas 中最基本的单列数据结构,类似于一维数组或字典,本文将深入探讨Series 函数的各种功能和用法,帮助你更好地理解和应用这一强大的工具。
什么是 Series?
Series 是 Pandas 库中的一种一维数组对象,可以存储任何数据类型(整数、浮点数、字符串等),每个元素都有一个对应的标签,称为索引。Series 的基本结构如下:
import pandas as pd 创建一个简单的 Series s = pd.Series([1, 3, 5, np.nan, 6, 8]) print(s)
输出结果:
0 1.0 1 3.0 2 5.0 3 NaN 4 6.0 5 8.0 dtype: float64
在这个例子中,Series 包含了六个元素,其中第四个元素是NaN(Not a Number),表示缺失值,索引默认从 0 开始,但也可以自定义。
创建 Series
创建Series 有多种方式,以下是一些常见的方法:
1、从列表创建:
s = pd.Series([1, 2, 3, 4, 5]) print(s)
2、从字典创建:
d = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(d)
print(s)3、从 NumPy 数组创建:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) s = pd.Series(arr) print(s)
4、指定索引:
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e']) print(s)
Series 的基本操作
1、访问元素:
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e']) 通过索引访问 print(s['a']) # 输出: 1 通过位置访问 print(s[0]) # 输出: 1
2、切片操作:

print(s['a':'c'])  # 输出: a    1
                   #        b    2
                   #        c    3
                   #        dtype: int64
print(s[0:3])  # 输出: a    1
               #        b    2
               #        c    3
               #        dtype: int643、布尔索引:
print(s[s > 2])  # 输出: c    3
                 #        d    4
                 #        e    5
                 #        dtype: int644、修改元素:
s['a'] = 10
print(s)  # 输出: a    10
          #        b     2
          #        c     3
          #        d     4
          #        e     5
          #        dtype: int645、删除元素:
s = s.drop('a')
print(s)  # 输出: b    2
          #        c    3
          #        d    4
          #        e    5
          #        dtype: int64Series 的数学运算
Series 支持各种数学运算,包括加、减、乘、除等,这些运算可以应用于整个Series 或者与标量进行运算。
1、加法:
s1 = pd.Series([1, 2, 3, 4, 5])
s2 = pd.Series([1, 2, 3, 4, 5])
print(s1 + s2)  # 输出: 0    2
                #        1    4
                #        2    6
                #        3    8
                #        4   10
                #        dtype: int642、减法:
print(s1 - s2)  # 输出: 0    0
                #        1    0
                #        2    0
                #        3    0
                #        4    0
                #        dtype: int643、乘法:
print(s1 * s2)  # 输出: 0    1
                #        1    4
                #        2    9
                #        3   16
                #        4   25
                #        dtype: int644、除法:
print(s1 / s2)  # 输出: 0    1.0
                #        1    1.0
                #        2    1.0
                #        3    1.0
                #        4    1.0
                #        dtype: float645、与标量运算:

print(s1 + 10)  # 输出: 0    11
                #        1    12
                #        2    13
                #        3    14
                #        4    15
                #        dtype: int64Series 的统计方法
Series 提供了许多统计方法,用于计算各种统计数据。
1、求和:
print(s1.sum()) # 输出: 15
2、平均值:
print(s1.mean()) # 输出: 3.0
3、最大值:
print(s1.max()) # 输出: 5
4、最小值:
print(s1.min()) # 输出: 1
5、标准差:
print(s1.std()) # 输出: 1.5811388300841898
6、描述性统计:
print(s1.describe())
输出结果:
count 5.000000 mean 3.000000 std 1.581139 min 1.000000 25% 2.000000 50% 3.000000 75% 4.000000 max 5.000000 dtype: float64
Series 的排序

Series 可以根据值或索引进行排序。
1、按值排序:
s = pd.Series([1, 3, 2, 5, 4], index=['a', 'b', 'c', 'd', 'e'])
print(s.sort_values())  # 输出: a    1
                        #        c    2
                        #        b    3
                        #        e    4
                        #        d    5
                        #        dtype: int642、按索引排序:
print(s.sort_index())  # 输出: a    1
                       #        b    3
                       #        c    2
                       #        d    5
                       #        e    4
                       #        dtype: int64Series 的合并与拼接
Series 可以通过concat 方法进行合并和拼接。
1、垂直拼接:
s1 = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
s2 = pd.Series([4, 5, 6], index=['d', 'e', 'f'])
s = pd.concat([s1, s2])
print(s)  # 输出: a    1
          #        b    2
          #        c    3
          #        d    4
          #        e    5
          #        f    6
          #        dtype: int642、水平拼接:
s1 = pd.Series([1,
相关文章
