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

pandas.Series

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

pandas.Series( data, index, dtype, copy)。
Python

构造函数的参数如下 -

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

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

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

创建一个空的系列

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

示例

#import the pandas library and aliasing as pd
import pandas as pd
s = pd.Series()
print s
Python

执行上面示例代码,输出结果如下 -

Series([], dtype: float64)
Shell

从ndarray创建一个系列

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

示例1

#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print s
Python

执行上面示例代码,输出结果如下 -

0   a
1 b
2 c
3 d
dtype: object
Shell

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

示例2

#import the pandas library and aliasing as pd
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
Python

执行上面示例代码,输出结果如下 -

100  a
101 b
102 c
103 d
dtype: object
Python

在这里传递了索引值。现在可以在输出中看到自定义的索引值。

从字典创建一个系列

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

示例2

#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data)
print s
Python

执行上面示例代码,输出结果如下 -

a 0.0
b 1.0
c 2.0
dtype: float64
Python

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

示例

#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data,index=['b','c','d','a'])
print s
Python

执行上面示例代码,输出结果如下 -

b 1.0
c 2.0
d NaN
a 0.0
dtype: float64
Python

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

从标量创建一个系列

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

#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
s = pd.Series(5, index=[0, 1, 2, 3])
print s
Python

执行上面示例代码,得到以下结果 -

0  5
1 5
2 5
3 5
dtype: int64
Shell

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

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

示例-1

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

import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) #retrieve the first element
print s[0]
Python

执行上面示例,得到以下结果 -

1
Shell

示例-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]
Python

执行上面示例,得到以下结果 -

a  1
b 2
c 3
dtype: int64
Shell

示例-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:]
Python

执行上面示例代码,得到以下结果 -

c  3
d 4
e 5
dtype: int64
Shell

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

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

示例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']
Python

执行上面示例代码,得到以下结果 -

1
Shell

示例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']]
Python

执行上面示例代码,得到以下结果 -

a  1
c 3
d 4
dtype: int64
Shell

示例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']
Python

执行上面示例代码,得到以下结果 -


KeyError: 'f'

Pandas系列的更多相关文章

  1. Pandas系列之入门篇

    Pandas系列之入门篇 简介 pandas 是 python用来数据清洗.分析的包,可以使用类sql的语法方便的进行数据关联.查询,属于内存计算范畴, 效率远远高于硬盘计算的数据库存储.另外pand ...

  2. Pandas系列教程——写在前面

    之前搜pandas资料,发现互联网上并没有成体系的pandas教程,于是乎突然有个爱迪页儿,打算自己把官网的文档加上自己用pandas的理解,写成一个系列的教程, 巩固自己,方便他人 接下来就干这件事 ...

  3. Pandas系列之入门篇——HDF5

    Pandas系列之入门篇--HDF5 简介 HDF5(层次性数据格式)作用于大数据存储,其高效的压缩方式节约了不少硬盘空间,同时也给查询效率带来了一定的影响, 压缩效率越高,查询效率越低.pandas ...

  4. Pandas系列(四)-文本数据处理

    内容目录 1. 为什么要用str属性 2. 替换和分割 3. 提取子串 3.1 提取第一个匹配的子串 3.2 匹配所有子串 3.3 测试是否包含子串 3.4 生成哑变量 3.5 方法摘要 一.为什么要 ...

  5. Pandas系列(一)-Series详解

    一.初始Series Series 是一个带有 名称 和索引的一维数组,既然是数组,肯定要说到的就是数组中的元素类型,在 Series 中包含的数据类型可以是整数.浮点.字符串.Python对象等. ...

  6. Pandas系列(二)- DataFrame数据框

    一.初识DataFrame dataFrame 是一个带有索引的二维数据结构,每列可以有自己的名字,并且可以有不同的数据类型.你可以把它想象成一个 excel 表格或者数据库中的一张表DataFram ...

  7. Pandas系列(三)-缺失值处理

    内容目录 1. 什么是缺失值 2. 丢弃缺失值 3. 填充缺失值 4. 替换缺失值 5. 使用其他对象填充 数据准备 import pandas as pd import numpy as np in ...

  8. Pandas系列(五)-分类数据处理

    内容目录 1. 创建对象 2. 常用操作 3. 内存使用量的陷阱 一.创建对象 1.基本概念:分类数据直白来说就是取值为有限的,或者说是固定数量的可能值.例如:性别.血型. 2.创建分类数据:这里以血 ...

  9. Pandas系列(六)-时间序列详解

    内容目录 1. 基础概述 2. 转换时间戳 3. 生成时间戳范围 4. DatetimeIndex 5. DateOffset对象 6. 与时间序列相关的方法 6.1 移动 6.2 频率转换 6.3 ...

随机推荐

  1. 使用node,express,mongodb,ionic,ejs搭建的简单app个人总结

    1.每次修改app.js或者其他路由js文件,都必须重启node app.js,否则修改不起作用!!! 2.<link rel="stylesheet" href=" ...

  2. 巨蟒python全栈开发-第13天 内置函数 匿名函数lambda

    一.今日内容总览 1.内置函数(1):并不是每一个内置函数都是那么常用 上菜:内置函数部分//思维导图:https://www.processon.com/view/link/5b4ee15be4b0 ...

  3. iOS与导航相关的都在这

    // 设置导航背景图片 (一旦设置背景图片(变为不透明),透明层不起作用) [self.navigationBar setBackgroundImage:[UIImage imageNamed:@&q ...

  4. mysql 使用命令执行外部sql文件

    语句 source e:\\phpPro\\fileName.sql 注意,不需要再后面加  分号  !!!!!

  5. 使用electron进行原生应用的打包

    因为信奉一句话:JavaScript 终将一统天下,所以要想方设法开疆扩土. 今天介绍的这个electron就是一大神器,可以很方便的将网页应用打包为Mac, Win, Linux下的可执行文件,只需 ...

  6. ssh远程执行远程执行命令

    ssh zxrac1 '/home/oracle/tmp/t5.sh 2 2 >/dev/null 2>&1 &'

  7. C# 委托及匿名函数

    一. 为什么使用委托,代码如下:(注释掉的是没用委托之前的使用方式,没有注释的是使用了委托的) public delegate string DelProStr(string name); class ...

  8. day4-迭代器、生成器yield

    一.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大优 ...

  9. Kattis - fence2【二分法】

    Kattis - fence2[二分法] 题意 有一个农夫需要建造一个 N - 1 米长的篱笆,需要 N 根柱子,然后有 K 根 柱子 需要将这 K 根柱子 切成 N 段 然后 要尽量保证这 N 段柱 ...

  10. uva 11426 GCD - Extreme (II) (欧拉函数打表)

    题意:给一个N,和公式 求G(N). 分析:设F(N)= gcd(1,N)+gcd(2,N)+...gcd(N-1,N).则 G(N ) = G(N-1) + F(N). 设满足gcd(x,N) 值为 ...