首页 常识文章正文

探索Pandas中的Series函数,数据科学的瑞士军刀

常识 2024年10月28日 07:17 34 昊含

在数据科学和数据分析领域,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、切片操作

探索Pandas中的Series函数,数据科学的瑞士军刀

print(s['a':'c'])  # 输出: a    1
                   #        b    2
                   #        c    3
                   #        dtype: int64
print(s[0:3])  # 输出: a    1
               #        b    2
               #        c    3
               #        dtype: int64

3、布尔索引

print(s[s > 2])  # 输出: c    3
                 #        d    4
                 #        e    5
                 #        dtype: int64

4、修改元素

s['a'] = 10
print(s)  # 输出: a    10
          #        b     2
          #        c     3
          #        d     4
          #        e     5
          #        dtype: int64

5、删除元素

s = s.drop('a')
print(s)  # 输出: b    2
          #        c    3
          #        d    4
          #        e    5
          #        dtype: int64

Series 的数学运算

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: int64

2、减法

print(s1 - s2)  # 输出: 0    0
                #        1    0
                #        2    0
                #        3    0
                #        4    0
                #        dtype: int64

3、乘法

print(s1 * s2)  # 输出: 0    1
                #        1    4
                #        2    9
                #        3   16
                #        4   25
                #        dtype: int64

4、除法

print(s1 / s2)  # 输出: 0    1.0
                #        1    1.0
                #        2    1.0
                #        3    1.0
                #        4    1.0
                #        dtype: float64

5、与标量运算

探索Pandas中的Series函数,数据科学的瑞士军刀

print(s1 + 10)  # 输出: 0    11
                #        1    12
                #        2    13
                #        3    14
                #        4    15
                #        dtype: int64

Series 的统计方法

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 的排序

探索Pandas中的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: int64

2、按索引排序

print(s.sort_index())  # 输出: a    1
                       #        b    3
                       #        c    2
                       #        d    5
                       #        e    4
                       #        dtype: int64

Series 的合并与拼接

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: int64

2、水平拼接

s1 = pd.Series([1,

中盟盛世科技网 网站地图 免责声明:本网站部分内容由用户自行上传,若侵犯了您的权益,请联系我们处理,联系QQ:2760375052 版权所有:中盟盛世科技网:沪ICP备2023024865号-1