Python Pandas Series

Python Pandas Series

Series是一个一维的带标签的数组,可以容纳任何类型的数据(整数、字符串、浮点数、Python对象等)。轴标签统称为索引。

pandas.Series

可以使用以下构造函数创建pandas Series-

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

构造函数的参数如下:

序号 参数和描述
1 data 数据可以是ndarray、列表、常量等形式
2 index 索引值必须唯一且可哈希,长度与数据相同。如果没有传递索引,则默认为 np.arrange(n)
3 dtype 数据类型。如果为None,则会推断数据类型
4 copy 复制数据。默认为False

一系列可以使用各种输入来创建,如−

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

创建一个空系列

可以创建一个基本系列,即一个空系列。

示例

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

它的输出如下所示:

Series([], dtype: float64)

从ndarray创建Series

如果数据是ndarray,则传入的索引必须具有相同的长度。如果没有传入索引,则默认索引会是 range(n) ,其中 n 是数组的长度,即[0,1,2,3… range(len(array))-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

输出 如下所示−

0   a
1   b
2   c
3   d
dtype: object

我们没有传递任何索引,所以默认情况下,它分配了索引从0到 len(data)-1 ,即0到3。

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

它的输出如下所示:

100  a
101  b
102  c
103  d
dtype: object

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

从字典创建一个系列

字典 可以作为输入传递,如果没有指定索引,则按字典键的排序顺序构建索引。如果传递了 索引 ,则会提取与索引标签对应的数据值。

示例1

#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

它的 输出 如下:

a 0.0
b 1.0
c 2.0
dtype: float64

观察 - 字典键用于构建索引。

示例 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,index=['b','c','d','a'])
print s

它的 输出 如下:

b 1.0
c 2.0
d NaN
a 0.0
dtype: float64

观察 - 索引顺序被保留,缺失的元素以NaN(不是一个数字)填充。

从标量创建 Series

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

#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

它的输出如下所示:

0  5
1  5
2  5
3  5
dtype: int64

从Series中按位置访问数据

Series中的数据可以通过类似于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]

它的 输出 如下:

1

示例2

检索Series中的前三个元素。如果在其前面插入冒号(:),则将提取从该索引开始的所有项。如果使用两个参数(中间用冒号(:)分隔),则提取两个索引之间的项(不包括停止索引)。

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

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

Series 类似于一个固定大小的 字典 ,您可以通过索引标签来获取和设置值。

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程