Python数据处理之pd.Series()函数的基本使用

  • Post category:Python

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()函数的基本使用和高级用法,相信读者已经对这个函数有了更深入的了解。