Python技术迷

Pandas 教程-Python Pandas Series

整理:python架构师

Pandas Series可以定义为能够存储各种数据类型的一维数组。我们可以轻松地将列表、元组和字典转换为使用“series”方法的系列。系列的行标签称为索引。一个系列不能包含多个列。它有以下参数:

  • data: 它可以是任何列表、字典或标量值。

  • index: 索引的值应该是唯一且可哈希的。它必须与数据的长度相同。如果我们不传递任何索引,默认的 np.arrange(n) 将被使用。

  • dtype: 它指的是系列的数据类型。

  • copy: 它用于复制数据。

创建系列:

我们可以通过两种方式创建系列:

1.创建一个空系列

2.使用输入创建系列。

创建一个空系列:

我们可以轻松地在 Pandas 中创建一个空系列,这意味着它将没有任何值。

用于创建空系列的语法:
<series object> = pandas.Series()

下面的例子创建了一个空系列类型对象,它没有值,且有默认的数据类型,即 float64。

示例
import pandas as pd  x = pd.Series()  print (x)
输出
Series([], dtype: float64)

专属福利 

👉点击领取:最全Python资料合集

使用输入创建系列:

我们可以使用各种输入创建系列:

  • 数组

  • 字典

  • 标量值

从数组创建系列:

在创建系列之前,首先,我们必须导入 numpy 模块,然后在程序中使用 array() 函数。如果数据是 ndarray,则传递的索引必须与长度相同。

如果我们不传递索引,则默认索引 range(n) 被传递,其中 n 定义了数组的长度,即 [0,1,2,...range(len(array))-1]。

示例
import pandas as pd  import numpy as np  info = np.array(['P','a','n','d','a','s'])  a = pd.Series(info)  print(a)
输出
0    P1    a2    n3    d4    a5    sdtype: object

从字典创建系列

我们也可以从字典创建系列。如果作为输入传递了字典对象且未指定索引,则以排序的顺序取字典键来构造索引。

如果传递了索引,则从 字典 中提取对应特定标签索引的值。
#import the pandas library   import pandas as pd  import numpy as np  info = {'x' : 0., 'y' : 1., 'z' : 2.}  a = pd.Series(info)  print (a)
输出
x     0.0y     1.0z     2.0dtype: float64

使用标量创建系列:

如果我们使用标量值,则必须提供索引。标量值将重复以匹配索引的长度。
#import pandas library   import pandas as pd  import numpy as np  x = pd.Series(4, index=[0, 1, 2, 3])  print (x)
输出
0      41      42      43      4dtype: int64

通过位置访问系列中的数据:

一旦创建了系列类型对象,你就可以访问其索引、数据,甚至是单个元素。

系列中的数据可以类似于在 ndarray 中那样访问。
import pandas as pd  x = pd.Series([1,2,3],index = ['a','b','c'])  #retrieve the first element  print (x[0])
输出
1 

系列对象属性

系列属性定义为与系列对象相关的任何信息,例如大小、数据类型等。以下是一些你可以用来获取系列对象信息的属性:

属性描述
Series.index定义系列的索引。
Series.shape它返回数据的形状的元组。
Series.dtype它返回数据的数据类型。
Series.size它返回数据的大小。
Series.empty如果系列对象为空,则返回 True,否则返回 false。
Series.hasnans如果有任何 NaN 值,则返回 True,否则返回 false。
Series.nbytes它返回数据中的字节数。
Series.ndim它返回数据的维数。
Series.itemsize它返回项的数据类型大小。
检索系列对象的索引数组和数据数组
我们可以使用属性 index 和 values 检索现有系列对象的索引数组和数据数组。
import numpy as np   import pandas as pd   x=pd.Series(data=[2,4,6,8])   y=pd.Series(data=[11.2,18.6,22.5], index=['a','b','c'])   print(x.index)   print(x.values)   print(y.index)   print(y.values)
输出
RangeIndex(start=0, stop=4, step=1)[2 4 6 8]Index(['a', 'b', 'c'], dtype='object')[11.2 18.6 22.5]

检索类型 (dtype) 和类型大小 (itemsize)

你可以使用属性 dtype 与系列对象一起使用 <objectname> dtype 来检索系列对象单个元素的数据类型,你可以使用 itemsize 属性显示分配给每个数据项的字节数。
import numpy as np   import pandas as pd   a=pd.Series(data=[1,2,3,4])   b=pd.Series(data=[4.9,8.2,5.6],   index=['x','y','z'])   print(a.dtype)   print(a.itemsize)    print(b.dtype)   print(b.itemsize)
输出
int648float648

检索形状

系列对象的形状定义了包括缺失或空值(NaN)在内的总元素数。
import numpy as np   import pandas as pd   a=pd.Series(data=[1,2,3,4])   b=pd.Series(data=[4.9,8.2,5.6],index=['x','y','z'])   print(a.shape)   print(b.shape)
输出
(4,)(3,)

检索维度、大小和字节数:

import numpy as np   import pandas as pd   a=pd.Series(data=[1,2,3,4])   b=pd.Series(data=[4.9,8.2,5.6],  index=['x','y','z'])   print(a.ndim, b.ndim)   print(a.size, b.size)   print(a.nbytes, b.nbytes)
输出
1 14 332 24

检查空性和 NaN 值的存在

要检查系列对象是否为空,你可以使用 empty 属性。类似地,要检查系列对象是否包含一些 NaN 值,你可以使用 hasans 属性。

示例
import numpy as np   import pandas as pd   a=pd.Series(data=[1,2,3,np.NaN])   b=pd.Series(data=[4.9,8.2,5.6],index=['x','y','z'])   c=pd.Series()   print(a.empty,b.empty,c.empty)   print(a.hasnans,b.hasnans,c.hasnans)   print(len(a),len(b))   print(a.count( ),b.count( ))
输出
False   False   TrueTrue    False   False4   33   3

系列函数

以下是一些在系列中使用的函数:

函数描述
Pandas Series.map()将两个系列中具有共同列的值映射。
Pandas Series.std()计算给定一组数字、DataFrame、列和行的标准偏差。
Pandas Series.to_frame()将系列对象转换为 dataframe。
Pandas Series.value_counts()返回一个系列,包含唯一值的计数。
Image
 1
Image
热门推荐
Image