Pandas 教程-Python Pandas Series
Pandas Series可以定义为能够存储各种数据类型的一维数组。我们可以轻松地将列表、元组和字典转换为使用“series”方法的系列。系列的行标签称为索引。一个系列不能包含多个列。它有以下参数:
data: 它可以是任何列表、字典或标量值。
index: 索引的值应该是唯一且可哈希的。它必须与数据的长度相同。如果我们不传递任何索引,默认的 np.arrange(n) 将被使用。
dtype: 它指的是系列的数据类型。
copy: 它用于复制数据。
创建系列:
我们可以通过两种方式创建系列:
1.创建一个空系列
2.使用输入创建系列。
创建一个空系列:
我们可以轻松地在 Pandas 中创建一个空系列,这意味着它将没有任何值。
<series object> = pandas.Series()
下面的例子创建了一个空系列类型对象,它没有值,且有默认的数据类型,即 float64。
import pandas as pdx = pd.Series()print (x)
Series([], dtype: float64)
👉点击领取:最全Python资料合集
使用输入创建系列:
我们可以使用各种输入创建系列:
数组
字典
标量值
从数组创建系列:
在创建系列之前,首先,我们必须导入 numpy 模块,然后在程序中使用 array() 函数。如果数据是 ndarray,则传递的索引必须与长度相同。
如果我们不传递索引,则默认索引 range(n) 被传递,其中 n 定义了数组的长度,即 [0,1,2,...range(len(array))-1]。
import pandas as pdimport numpy as npinfo = 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 libraryimport pandas as pdimport numpy as npinfo = {'x' : 0., 'y' : 1., 'z' : 2.}a = pd.Series(info)print (a)
x 0.0y 1.0z 2.0dtype: float64
使用标量创建系列:
#import pandas libraryimport pandas as pdimport numpy as npx = pd.Series(4, index=[0, 1, 2, 3])print (x)
0 41 42 43 4dtype: int64
通过位置访问系列中的数据:
一旦创建了系列类型对象,你就可以访问其索引、数据,甚至是单个元素。
import pandas as pdx = pd.Series([1,2,3],index = ['a','b','c'])#retrieve the first elementprint (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 | 它返回项的数据类型大小。 |
import numpy as npimport pandas as pdx=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)
import numpy as npimport pandas as pda=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
检索形状
import numpy as npimport pandas as pda=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 npimport pandas as pda=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 npimport pandas as pda=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() | 返回一个系列,包含唯一值的计数。 |
热门推荐