Python数据处理是现代数据分析中的重要任务之一,而使用pandas库中的pd.Series()函数则是其中不可或缺的一部分。下面我们将详细介绍pd.Series()函数的基本使用方法,以帮助读者获取对该函数的深刻理解。
pd.Series()函数介绍
pd.Series()函数是pandas库中的一个对象,用于创建一维数组。它可以接受多种类型的输入数据,包括标量、Python列表、NumPy ndarray对象等,输出一个pandas.Series对象。
pd.Series()函数的常用参数如下:
- data:输入数据。可以是列表、字典、ndarray等数据类型;
- index:索引。如果不提供,则默认使用0到len(data) – 1的数字索引;
- dtype:数据类型。可以是numpy.dtype对象、字符串等;
- copy:复制数据。默认为False。
pd.Series()函数的基本使用
1. 创建基本的Series对象
我们首先来创建一个基本的Series对象,并输出它的数据类型。
import pandas as pd
# 创建一个简单的Series对象,包括3个元素
s = pd.Series([10, 20, 30])
print(s)
print(type(s))
输出结果如下:
0 10
1 20
2 30
dtype: int64
<class 'pandas.core.series.Series'>
从输出结果可以看出,创建的Series对象包含了3个整数元素,并提供了默认的数字索引。输出还告诉我们,创建的变量s是一个pandas.core.series.Series对象。
2. 创建带有字符索引的Series对象
我们可以使用index参数为Series对象创建带有字符索引的数组。
# 创建一个包含字符索引的Series对象
s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
print(s)
输出结果如下:
a 10
b 20
c 30
dtype: int64
从输出结果中可以看到,我们创建了一个包含字符索引的Series对象,并且这个对象的数据类型依然是pandas.core.series.Series。
3. 通过字典创建Series对象
使用字典创建Series对象也是一种常见的方法。
# 使用字典创建Series对象
d = {'a': 10, 'b': 20, 'c': 30}
s = pd.Series(d)
print(s)
输出结果如下:
a 10
b 20
c 30
dtype: int64
这里我们使用字典d创建了一个Series对象,并且包含了相应的字符索引。
pd.Series()函数的高级用法示例
下面我们给出两个高级用法的示例,它们演示了如何使用pd.Series()函数进行数据操作。
1. 使用Series对象进行计算
我们可以使用pd.Series()函数创建一个Number对象,并使用NumPy的函数对它进行操作。
import numpy as np
# 创建一个包含10个随机整数的Number对象
x = pd.Series(np.random.randint(0, 10, size=10))
print('x =', x)
# 计算x的平方和
res = np.sum(x ** 2)
print('sum(x ** 2) =', res)
输出结果如下:
x = 0 9
1 7
2 8
3 6
4 1
5 8
6 0
7 8
8 9
9 6
dtype: int32
sum(x ** 2) = 491
2. 使用Series对象进行筛选
我们可以使用pd.Series()创建一个包含学生成绩的DataFrame对象,并通过布尔索引对学生成绩进行筛选。
# 创建一个包含学生姓名和成绩的DataFrame对象
data = {'name': ['Tom', 'Nick', 'Jerry', 'John'], 'score': [90, 60, 80, 75]}
df = pd.DataFrame(data)
print('df =', df)
# 将成绩低于80的学生姓名筛选出来
res = df[df['score'] < 80]['name']
print('res =', res)
输出结果如下:
df = name score
0 Tom 90
1 Nick 60
2 Jerry 80
3 John 75
res = 1 Nick
3 John
Name: name, dtype: object
从输出结果中可以看出,我们使用布尔索引,筛选出了成绩低于80分的学生的姓名。
到此,我们就介绍完了pd.Series()函数的基本使用和高级用法,相信读者已经对这个函数有了更深入的了解。