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

yizhihongxing

介绍:

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机器学习Sklearn实战adaboost算法示例详解

    Python机器学习Sklearn实战Adaboost算法示例详解 Adaboost是一种提升树算法,它能将多个弱分类器组成强分类器,通常被用于二分类和多类分类问题中。本文将对Adaboost算法的原理、实现和优化进行详细的讲解,并提供两个示例说明。 Adaboost算法原理 Adaboost算法利用多个弱分类器组合出一个强分类器,主要步骤如下: 初始化每个…

    python 2023年6月13日
    00
  • Pandas Python中数据帧的上限和下限–舍入和截断

    什么是数据帧的上限和下限? 在Pandas Python中,数据帧的上限和下限是指对数据框中的数值数据执行舍入或截断操作,从而将其舍入或截断为指定的精度、小数位数或指定的范围。 在 Pandas 中,有三种方法可以执行数据帧的上下限操作: round()函数:将数值舍入到指定的小数位数。 ceil()函数:将数值向上舍入到最接近的整数。 floor()函数:…

    python-answer 2023年3月27日
    00
  • Pandas中Series和DataFrame的索引实现

    下面开始讲解Pandas中Series和DataFrame的索引实现的攻略。 1. 索引简介 在Pandas中,数据结构主要有两种,分别是Series和DataFrame。Series是一维的数组,DataFrame是二维的表格型数据结构。对于这两个数据类型,索引都扮演着非常重要的角色。索引可以帮助我们快速地定位数据,提高数据操作的效率。 在Pandas中,…

    python 2023年5月14日
    00
  • pandas进阶教程之Dataframe的apply方法

    让我来为大家详细讲解“pandas进阶教程之Dataframe的apply方法”的完整攻略。 首先,我们需要了解Dataframe的apply方法是什么。简单来说,apply()方法是pandas中Dataframe的一个函数,它能够将一个函数应用到这个Dataframe的行或者列上。 在使用apply()方法时,需要指定一个函数,这个函数会作用于每一个元素…

    python 2023年5月14日
    00
  • 在Pandas数据框架中分割一列并获得其中的一部分

    在Pandas数据框架中,分割一列并获得其中的一部分可以通过对该列使用字符串切片的方式实现。具体步骤如下: 导入Pandas库并读入数据 import pandas as pd df = pd.read_csv(‘data.csv’) 使用str属性获得要分割的列的字符串方法,进行字符串切片操作,选取出想要的部分 df[‘new_column’] = df[…

    python-answer 2023年3月27日
    00
  • pandas中ix的使用详细讲解

    当你需要使用 Pandas 中的 ix 方法时,建议使用更安全和更通用的 loc 或 iloc 方法。ix 方法已经被官方弃用,并可能在未来的 Pandas 版本中被移除。这里我们以 loc 方法作为代替方法。 loc 可以通过行标签和/或列标签进行选择。行和列标签可以是字符串、序列或布尔值数组。当我们不需要在多个方面进行索引和选择时,loc 方法通常是最好…

    python 2023年5月14日
    00
  • 使用Python检测和删除异常值

    当处理数据时,异常值很容易影响统计分析的准确性和可靠性。因此,在数据分析和预处理时,检测和删除异常值非常重要。Python作为数据科学领域的主要编程语言之一,提供了多种方法来检测和删除异常值。下面将为你详细讲解这些方法: 异常值检测方法 箱线图法 箱线图法是最常见的异常值检测方法之一。箱线图可直观地展示数据的分布情况,并标记出异常值。箱线图包含最大值、最小值…

    python-answer 2023年3月27日
    00
  • Python提高运行速度工具之Pandarallel的使用教程

    下面是详细的“Python提高运行速度工具之Pandarallel的使用教程”攻略。 1. 什么是Pandarallel Pandarallel是一个Python库,用于并行运行Pandas中的apply、map和applymap函数,使得代码可以更快地运行。Pandarallel采用了Dask并行框架,可用于本地和远程计算。 2. Pandarallel的…

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