系列(Series)是能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组。轴标签统称为索引。

pandas.Series

Pandas系列可以使用以下构造函数创建 -


pandas.Series( data, index, dtype, copy)
 
参数 描述
data 数据采取各种形式,如:ndarraylistconstants
index 索引值必须是唯一的和散列的,与数据的长度相同。 默认np.arange(n)如果没有索引被传递。
dtype dtype用于数据类型。如果没有,将推断数据类型
copy 复制数据,默认为false

可以使用各种输入创建一个系列,如:

  • 数组
  • 字典
  • 标量值或常数

创建一个空的系列

创建一个基本系列,是一个空系列。

import pandas as pd

s = pd.Series()
print(s)

输出结果:

Series([], dtype: float64)
 

从ndarray创建一个系列

如果数据是ndarray,则传递的索引必须具有相同的长度。 如果没有传递索引值,那么默认的索引将是范围(n),其中n是数组长度,即[0,1,2,3…. range(len(array))-1] - 1]

示例1:没有传递任何索引,因此默认情况下,它分配了从0len(data)-1的索引,即:03

import pandas as pd
import numpy as np data = np.array(['a','b','c','d'])
s = pd.Series(data)
print(s)

输出结果:

0   a
1 b
2 c
3 d
dtype: object

示例2:传递了索引值。现在可以在输出中看到自定义的索引值

import pandas as pd
import numpy as np data = np.array(['a','b','c','d'])
s = pd.Series(data,index=[100,101,102,103])
print(s)

输出结果:

100  a
101 b
102 c
103 d
dtype: object

从字典创建一个系列

  字典(dict)可以作为输入传递,如果没有指定索引,则按排序顺序取得字典键以构造索引。 如果传递了索引,索引中与标签对应的数据中的值将被拉出。

示例1

import pandas as pd

data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data)
print(s)

输出结果:

a 0.0
b 1.0
c 2.0
dtype: float64

注意 - 字典键用于构建索引。

示例2

import pandas as pd

data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data,index=['b','c','d','a'])
print(s)

输出结果:

b 1.0
c 2.0
d NaN
a 0.0
dtype: float64
 

注意观察 - 索引顺序保持不变,缺少的元素使用NaN(不是数字)填充。

从标量创建一个系列

如果数据是标量值,则必须提供索引。将重复该值以匹配索引的长度。

import pandas as pd

s = pd.Series(5, index=[0, 1, 2, 3])
print(s)

输出结果:

0  5
1 5
2 5
3 5
dtype: int64

从具有位置的系列中访问数据

  系列中的数据可以使用类似于访问ndarray中的数据来访问。

示例-1:检索第一个元素。比如已经知道数组从零开始计数,第一个元素存储在零位置等等。

import pandas as pd

s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])
print(s[0])

输出结果:

1
 

示例-2

检索系列中的前三个元素。 如果a:被插入到其前面,则将从该索引向前的所有项目被提取。 如果使用两个参数(使用它们之间),两个索引之间的项目(不包括停止索引)。

import pandas as pd

s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve the first three element
print s[:3]

输出结果:

a  1
b 2
c 3
dtype: int64

示例-3:检索最后三个元素

import pandas as pd

s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve the last three element
print s[-3:]

输出结果:

c  3
d 4
e 5
dtype: int64

使用标签检索数据(索引)

  一个系列就像一个固定大小的字典,可以通过索引标签获取和设置值。

示例1:使用索引标签值检索单个元素。

import pandas as pd

s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve a single element
print s['a']

输出结果:

1
 

示例2:使用索引标签值列表检索多个元素。

import pandas as pd

s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve multiple elements
print s[['a','c','d']]

输出结果:

a  1
c 3
d 4
dtype: int64
 

示例3:如果不包含标签,则会出现异常。

import pandas as pd

s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve multiple elements
print s['f']

输出结果 :


KeyError: 'f'

Pandas | 02 Series 系列的更多相关文章

  1. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  2. 金融量化分析【day110】:Pandas的Series对象

    一.pandas简介安装 pandas是一个强大的python数据分析的工具包 pandsa是基于NumPy构建的 1.pandas的主要功能 1.具备对其功能的数据结构DataFrame.Serie ...

  3. Pandas之Series+DataFrame

    Series是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,python对象) index查看series索引,values查看series值 series相比于ndarray,是一 ...

  4. Python之Pandas中Series、DataFrame

    Python之Pandas中Series.DataFrame实践 1. pandas的数据结构Series 1.1 Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一 ...

  5. 数据科学:Pandas 和 Series 的 describe() 方法

    一.Pandas 和 Series 的 describe() 方法 1)功能 功能:对数据中每一列数进行统计分析:(以“列”为单位进行统计分析) 默认只先对“number”的列进行统计分析: 一列数据 ...

  6. pandas的Series

    pandas.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False) 首先介绍一下基本的: d ...

  7. Pandas 数据结构Series:基本概念及创建

    Series:"一维数组" 1. 和一维数组的区别 # Series 数据结构 # Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象 ...

  8. Pandas之Series

    # Series 数据结构 # Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象等),轴标签统称为索引 import numpy as np impor ...

  9. pandas学习series和dataframe基础

    PANDAS 的使用 一.什么是pandas? 1.python Data Analysis Library 或pandas 是基于numpy的一种工具,该工具是为了解决数据分析人物而创建的. 2.p ...

随机推荐

  1. ORA-12528: TNS:listener: all appropriate instances are blocking new connections

    Oracle问题:ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连接 问题原始描述: ORA-12528: TNS:listener: all appropriate insta ...

  2. commitizen规范代码提交

    转载链接:https://www.jianshu.com/p/bd712e42f2e9 参考链接:https://segmentfault.com/a/1190000009048911 平时提交的变动 ...

  3. linux centos7下源码 tar安装mysql5.7.22或mysql5.7.20 图文详解

    之前用的rpm安装的每次安装都是最新的,,,导致每次版本不统一... 现在用tar包安装5.7.22和5.7.20一样的   5.7.20之后的和之前的版本还是有点不一样的 官网地址 https:// ...

  4. spring的15个经典面试题

    总结Spring框架的15个经典面试题. 什么是Spring框架? Spring是一种轻量级框架,旨在提高开发人员的开发效率以及系统的可维护性. 我们一般说的Spring框架就是Spring Fram ...

  5. AppBarLayout折叠时候的阴影

    最近在项目中遇到一个需求,AppBarLayout在完全展开时没有阴影,在完全收缩时展示阴影,这个功能可以通过设置StateListAnimator的轻松的实现. 首先,在res/animator目录 ...

  6. v8引擎详解(摘)-- V8引擎是一个JavaScript引擎实现

    随着Web相关技术的发展,JavaScript所要承担的工作也越来越多,早就超越了“表单验证”的范畴,这就更需要快速的解析和执行JavaScript脚本.V8引擎就是为解决这一问题而生,在node中也 ...

  7. jquery-ajax请求.NET MVC 后台

    在ajax的URL中写上"/你的控制器名/你方法名" 在后台控制器中对应有两个常用类型一个是ActionResult还有一个是JsonResult 在访问时需要在类型上加上publ ...

  8. LearnOpenGL笔记(1)搭建环境

    之前有写过Unity Shader,但不过是东拼西凑,对其中的原理可以说完全不清楚,现在准备好好从opengl开始,学习这基础又重要的内容. LearnOpenGL CN是一个超超超炒鸡好的openG ...

  9. Linux用户管理(4)

    Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.Linux用户至少属于一个组. 1.添加用户 useradd ...

  10. QT绘制B样条曲线

    ²  贝塞尔曲线 贝塞尔曲线是通过一组多边折线的各顶点来定义.在各顶点中,曲线经过第一点和最后一点,其余各点则定义曲线的导数.阶次和形状.第一条和最后一条则表示曲线起点和终点的切线方向. ²  B样条 ...