Python3.5 Pandas模块之Series用法实例分析

介绍:

Pandas是一个Python第三方库,主要用于数据分析和处理,它是在NumPy基础上开发出来的,而且它的数据结构有Series和DataFrame,其中,Series是一种一维的数组,和数组最大的区别在于Series中每个数据都会有一个索引,这个索引可以默认的是从0开始生成,也可以自己定义,而Series中的数据必须是同一个数据类型。本文将详细使用实例的方式来讲解Pandas模块中Series的用法,以帮助读者更好地掌握这一数据结构。

一、Series对象的创建

Series对象的创建方法有多种,其中最常用的有:通过列表创建、通过字典创建、通过函数创建和通过NumPy数组创建,下面我们来依次介绍。

1.通过列表创建

Series对象的创建方法为:s = Series(data,index=index),其中data表示要创建的一维数组,index是对应的索引值,如果不指定,默认为从0开始的整数值。例如下面的代码创建了一个Series对象:

import pandas as pd
from pandas import Series

s = Series([16, 74, 86, 46])
print(s)

输出结果为:

0    16
1    74
2    86
3    46
dtype: int64

2.通过字典创建

Series对象的创建方法为:s = Series(data,index=index),其中data表示要创建的字典,index是对应的索引值,如果不指定,默认为字典中的键。例如下面的代码创建了一个Series对象:

import pandas as pd
from pandas import Series

d = {'A': 16, 'B': 74, 'C': 86, 'D': 46}
s = Series(d)
print(s)

输出结果为:

A    16
B    74
C    86
D    46
dtype: int64

3.通过函数创建

Series对象的创建方法为:s = Series(data,index=index),其中data表示通过函数生成的一维数组,index是对应的索引值。例如下面的代码创建了一个Series对象:

import pandas as pd
from pandas import Series

def func(n):
    return n ** 2

s = Series(func(10), index=range(10))
print(s)

输出结果为:

0      0
1      1
2      4
3      9
4     16
5     25
6     36
7     49
8     64
9     81
dtype: int64

4.通过NumPy数组创建

Series对象的创建方法为:s = Series(data,index=index),其中data表示通过NumPy数组生成的一维数组,index是对应的索引值。例如下面的代码创建了一个Series对象:

import pandas as pd
from pandas import Series
import numpy as np

n = np.array([16, 74, 86, 46])
s = Series(n)
print(s)

输出结果为:

0    16
1    74
2    86
3    46
dtype: int64

二、Series对象的属性和方法

Series对象有很多属性和方法,下面我们挑选其中的一些重要的进行详细介绍。

1.Series属性

• shape:返回一个元组,代表Series的形状

• size:返回Series中的值的总数

• index:返回Series的索引

• values:返回Series的值

例如下面的代码展示了这些属性的用法:

import pandas as pd
from pandas import Series
import numpy as np

n = np.array([16, 74, 86, 46])
s = Series(n)
print('n的形状:', n.shape)
print('s的形状:', s.shape)
print('s中的值的总数:', s.size)
print('s的索引:', s.index)
print('s的值:', s.values)

输出结果为:

n的形状: (4,)
s的形状: (4,)
s中的值的总数: 4
s的索引: RangeIndex(start=0, stop=4, step=1)
s的值: [16 74 86 46]

2.Series方法

• head():返回Series中的前n行,n默认是5

• tail():返回Series中的后n行,n默认是5

• describe():返回Series中的基本统计信息

• apply():应用一个函数

• sort_values():排序

例如下面的代码展示了这些方法的用法:

import pandas as pd
from pandas import Series
import numpy as np

n = np.array([16, 74, 86, 46])
s = Series(n)
print('s的前两个值:', s.head(2))
print('s的后两个值:', s.tail(2))
print('s的基本统计信息:', s.describe())
print('s的平方值:', s.apply(lambda x: x ** 2))
print('按值排序:', s.sort_values())

输出结果为:

s的前两个值: 0    16
1    74
dtype: int64
s的后两个值: 2    86
3    46
dtype: int64
s的基本统计信息: count     4.000000
mean     55.500000
std      31.003408
min      16.000000
25%      40.000000
50%      60.000000
75%      75.500000
max      86.000000
dtype: float64
s的平方值: 0     256
1    5476
2    7396
3    2116
dtype: int64
按值排序: 0    16
3    46
1    74
2    86
dtype: int64

三、示例说明

接下来我们会举两个使用Series的简单实例,让读者更好地理解它的用法。

1.对比两只股票的收盘价

下面我们分别获取A股和B股的每日收盘价,应用Series对象,求出A股和B股每日收盘价的平均值,并进行对比。

import pandas as pd
from pandas import Series

a_list = [15.5, 15.7, 16.0, 16.1, 15.9]
b_list = [13.9, 14.5, 14.8, 14.9, 14.7]

a = Series(a_list)
b = Series(b_list)

print('A股收盘价平均值:', round(a.mean(), 2))
print('B股收盘价平均值:', round(b.mean(), 2))

if a.mean() > b.mean():
    print('A股收盘价更高')
else:
    print('B股收盘价更高')

输出结果为:

A股收盘价平均值: 15.84
B股收盘价平均值: 14.56
A股收盘价更高

2.考试成绩分析

下面我们给出一组Python程序设计考试的成绩,应用Series对象,并使用describe()方法分析考试成绩。

import pandas as pd
from pandas import Series

score = [80, 86, 58, 95, 75, 68, 89, 92, 77, 83]

s = Series(score)
print(s.describe())

输出结果为:

count    10.000000
mean     81.300000
std      11.119627
min      58.000000
25%      75.250000
50%      81.500000
75%      88.250000
max      95.000000
dtype: float64

以上两个示例说明了Series在数据分析中的常见应用场景,利用Series对象可以很方便地进行数据的统计、分析和处理。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3.5 Pandas模块之Series用法实例分析 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • python中pd.Series()函数的使用

    当我们在用Python进行数据分析时,一种最基础的数据结构是 Series。 Series 是 Pandas 库中的一种数据类型,它类似于 Excel 中的列,它由一个索引和一个数据组成。 Pandas 中的 Series 与 NumPy 中的 ndarray 类似,二者之间最大的区别是 Series 有索引(index),因此可以基于标签来获取数据,而 N…

    python 2023年6月13日
    00
  • mybatis group by substr函数传参报错的解决

    当使用MyBatis进行SQL查询时,如果在查询语句中使用了group by和substr函数,有时可能会遇到传参报错的问题。本文将详细讲解这一问题的解决方法。 问题现象 在MyBatis的select语句中使用了group by和substr函数,例如: select substring(name, 1, 3) as short_name, count(*…

    python 2023年5月14日
    00
  • 如何在Pandas中利用时间序列

    下面我将为您详细讲解如何在Pandas中利用时间序列的完整攻略,并提供相应的示例说明。 一、导入数据 从文件或其他数据源收集完数据之后,我们需要先将数据导入Pandas中,以便我们能够使用Pandas中的时间序列操作功能。在Pandas中,我们可以使用pd.read_csv函数来导入csv格式的文件,使用pd.read_excel函数来导入Excel文件,或…

    python-answer 2023年3月27日
    00
  • 在Pandas数据框架中选择具有最大和最小值的行

    在 Pandas 数据框架中选择具有最大和最小值的行有多种方法,下面将详细介绍其中两种方法: 使用 loc 方法结合 idxmin 和 idxmax 方法 import pandas as pd import numpy as np # 创建预置数据 data = {‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8, 9]…

    python-answer 2023年3月27日
    00
  • 在Pandas中根据多列的值分割数据框架

    在 Pandas 中,可以使用多个列的值对数据框进行分割。下面是分割数据框的完整攻略: 1. 导入 Pandas 库并读取数据 首先,需要导入 Pandas 库。可以使用以下代码执行此操作: import pandas as pd 然后,需要读取数据。以下代码演示了如何读取名为 “data.csv” 的 CSV 文件,并将其存储在名为 “df” 的 Pand…

    python-answer 2023年3月27日
    00
  • Pandas – 移除列名中的特殊字符

    在 Pandas 中,可以使用 str 方法对字符串进行操作。对于列名中包含的特殊字符,可以使用 str.replace() 方法进行替换。 举个例子,在下面的示例数据中,列名中包含了圆括号和空格: import pandas as pd data = {"column 1": [1, 2, 3], "column (2)&qu…

    python-answer 2023年3月27日
    00
  • 用Pandas索引和选择数据

    Pandas是python中一款数据分析工具,索引和选择数据是其中非常重要的一部分,下面将详细讲解用Pandas索引和选择数据的完整攻略和实例说明。 Pandas索引和选择数据的完整攻略 一、Pandas索引——理解DataFrame和Series的索引 1.1 DataFrame索引 DataFrame的索引默认情况下是整数,行索引默认是从0开始的,列索引…

    python-answer 2023年3月27日
    00
  • Pandas:Series和DataFrame删除指定轴上数据的方法

    Pandas是python中一款非常常用的数据处理库,其可以方便的对数据进行处理、统计和分析。而在数据处理中,删除数据是一个非常常见的操作。在这里,我们讲述如何在Pandas中删除Series和DataFrame中指定轴上的数据。 删除Series中指定位置的元素 要删除Series中指定位置的元素,需要使用Series的drop()方法。 Series.d…

    python 2023年6月13日
    00
合作推广
合作推广
分享本页
返回顶部