在Pandas中从列表、Numpy数组和字典中创建Series

在Pandas中从列表、Numpy数组和字典中创建Series

在进行数据分析和处理时,Pandas是一个非常强大的工具。在Pandas中,Series是一个非常重要的数据结构,可以将其看成是一维数组。在本文中,我们将介绍如何从Python列表、Numpy数组和字典中创建一个Pandas中的Series。

从Python列表创建一个Series

import pandas as pd

# 创建一个包含整数的列表
my_list = [23, 56, 34, 76, 12]

# 使用pd.Series方法将其转换为Series
my_series = pd.Series(my_list)

# 打印输出Series
print(my_series)

上述代码输出的结果如下:

0    23
1    56
2    34
3    76
4    12
dtype: int64

我们可以看到,Series的索引默认是0到n-1,其中n是Series的长度。这种情况下,Series的值为我们输入的列表中的元素。

从Numpy数组创建一个Series

在进行数据分析时,Numpy是一个非常常用的工具,因为它提供了很多高级的数组操作。下面是如何从Numpy数组中创建一个Series的示例。

import numpy as np
import pandas as pd

# 创建一个包含随机整数的Numpy数组
my_array = np.random.randint(100, size=5)

# 使用pd.Series方法将其转换为Series
my_series = pd.Series(my_array)

# 打印输出Series
print(my_series)

输出的结果如下:

0    77
1     5
2     4
3     0
4    31
dtype: int64

在这种情况下,Series的索引也是默认的0到n-1,其中n是Series的长度。Series的值为我们输入的Numpy数组中的元素。

从字典创建一个Series

字典也是另一个常用的数据结构。下面是如何从字典中创建一个Series的示例。

import pandas as pd

# 创建一个包含字典的字典
my_dict = {'a': 23, 'b': 56, 'c': 34, 'd': 76, 'e': 12}

# 使用pd.Series方法将其转换为Series
my_series = pd.Series(my_dict)

# 打印输出Series
print(my_series)

输出的结果如下:

a    23
b    56
c    34
d    76
e    12
dtype: int64

我们可以看到,Series的索引是我们输入的字典的键,而Series的值是我们输入的字典的值。

为Series添加索引

到目前为止,我们已经创建了三个Series,但是它们的索引都是默认的0到n-1。在大多数情况下,我们需要指定自己的索引,以便更好地操作Series。

import pandas as pd

# 创建一个包含整数的列表
my_list = [23, 56, 34, 76, 12]

# 创建自定义索引的Series
my_series = pd.Series(my_list, index=['a', 'b', 'c', 'd', 'e'])

# 打印输出Series
print(my_series)

上述代码输出的结果如下:

a    23
b    56
c    34
d    76
e    12
dtype: int64

我们可以看到,现在Series的索引是我们指定的a到e,而Series的值是我们输入的列表中的元素。

同样地,我们可以为从Numpy数组和字典创建的Series添加自己的索引。

获取并操作Series的值

在创建了Series之后,我们很可能需要获取Series的值并进行操作。下面是获取Series值的示例。

import pandas as pd

# 创建一个包含整数的列表
my_list = [23, 56, 34, 76, 12]

# 创建自定义索引的Series
my_series = pd.Series(my_list, index=['a', 'b', 'c', 'd', 'e'])

# 获取Series的第一个值
print(my_series[0])

# 获取Series的前三个值
print(my_series[:3])

# 获取Series的后两个值
print(my_series[-2:])

# 对Series进行求和
print(my_series.sum())

# 对Series进行平均值计算
print(my_series.mean())

# 对Series进行方差计算
print(my_series.var())

# 对Series进行标准差计算
print(my_series.std())

# 使用apply方法对Series进行函数操作
print(my_series.apply(lambda x: x if x > 50 else x*2))

输出的结果如下:

23
a    23
b    56
c    34
dtype: int64
d    76
e    12
dtype: int64
201
40.2
463.2
21.516974837602566
a    46
b    56
c    68
d    76
e    24
dtype: int64

我们可以看到,在以上示例中,我们获取了Series的第一个值、前三个值和后两个值;对Series进行了求和、平均值计算、方差计算和标准差计算;还使用了apply方法对Series进行了函数操作。

结论

在本文中,我们介绍了如何从Python列表、Numpy数组和字典中创建一个Pandas中的Series,并展示了如何为Series添加自定义索引以及如何获取并操作Series的值。掌握这些技能可以为数据分析和处理提供非常实用的工具和方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Numpy 示例