Pandas Series可以定义为一维数组,能够存储各种数据类型。无涯教程可以使用" Series"方法轻松地将列表,元组和字典转换为Series。Series的行标签称为索引。一个Series不能包含多列。它具有以下参数:
无涯教程可以通过两种方式创建Series:
可以轻松地在Pandas中创建一个空Series,这意味着它将没有任何价值。
用于创建空序列的语法:
<series object> = pandas.Series()
以下示例创建了一个空Series类型对象,该对象没有值,并且具有默认数据类型,即 float64 。
import pandas as pd x = pd.Series() print (x)
输出
Series([], dtype: float64)
可以使用各种输入来创建Series:
从数组(array)创建Series:
在创建Series之前,首先,必须导入 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 P 1 a 2 n 3 d 4 a 5 s dtype: object
根据字典(dict)创建Series
无涯教程也可以根据字典创建Series。 如果将字典对象作为输入传递且未指定索引,则将按排序顺序获取字典键以构造索引。
如果传递了索引,则将从字典中提取与索引中特定标签相对应的值。
#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.0 y 1.0 z 2.0 dtype: float64
使用标量创建Series:
如果采用标量值,则必须提供索引。标量值将被重复以匹配索引的长度。
#import pandas library import pandas as pd import numpy as np x = pd.Series(4, index=[0, 1, 2, 3]) print (x)
输出
0 4 1 4 2 4 3 4 dtype: int64
创建Series类型对象后,就可以访问其索引,数据,甚至单个元素。
与ndarray中的数据类似,可以访问Series中的数据。
import pandas as pd x = pd.Series([1,2,3],index = ['a','b','c']) #retrieve the first element print (x[0])
输出
1
Series属性定义为与Series对象有关的任何信息,例如大小,数据类型。等。以下是一些可用于获取有关Series对象的信息的属性:
属性 | 说明 |
---|---|
Series.index | 定义Series的索引。 |
Series.shape | 它返回数据形状的元组。 |
Series.dtype | 它返回数据的数据类型。 |
Series.size | 它返回数据的大小。 |
Series.empty | 如果Series对象为空,则返回True,否则返回false。 |
Series.hasnans | 如果有任何NaN值,则返回True,否则返回false。 |
Series.nbytes | 它返回数据中的字节数。 |
Series.ndim | 它返回数据中的维数。 |
Series.itemsize | 它返回大小项目的数据类型。 |
无涯教程可以使用属性索引和值来检索现有Series对象的索引数组和数据数组。
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]
可以将Series对象的属性dtype与<objectname> dtype一起使用,以检索Series对象的单个元素的数据类型,可以使用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)
输出
int64 8 float64 8
Series对象的形状定义元素的总数,包括缺失值或空值(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 1 4 3 32 24
要检查Series对象是否为空,可以使用 empty属性。同样,要检查Series对象是否包含某些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 True True False False 4 3 3 3
Series中使用的一些函数如下:
函数 | 说明 |
---|---|
Pandas Series.map() | 映射具有公共列的两个Series的值。 |
Pandas Series.std() | 计算给定数字集,DataFrame列和行的标准偏差。 |
Pandas Series.to_frame() | 将Series对象转换为数据框。 |
pandasSeries.value_counts() | 返回包含唯一值计数的Series。 |
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)