H5W3
当前位置:H5W3 > 其他技术问题 > 正文

Python Pandas系列series用法详细介绍

本文概述

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

  • 数据:可以是任何列表, 字典或标量值。
  • index:索引的值应唯一且可哈希。它必须与数据长度相同。如果我们不传递任何索引, 则将使用默认的np.arrange(n)。
  • dtype:是指系列的数据类型。
  • 复制:用于复制数据。

创建系列

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

  1. 创建一个空系列
  2. 使用输入创建系列。

创建一个空系列:

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

用于创建空序列的语法:

<series object> = pandas.Series()

以下示例创建了一个空系列类型对象, 该对象没有值, 并且具有默认数据类型, 即float64。

例子

import pandas as pd
x = pd.Series()
print (x)

输出

Series([], dtype: float64)

使用输入创建系列:

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

  • Array
  • 辞典
  • 标量值

从数组创建序列:

在创建系列之前, 首先, 我们必须导入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

从字典创建系列

我们也可以根据字典创建系列。如果将字典对象作为输入传递而未指定索引, 则按排序顺序获取字典键以构造索引。

如果传递了索引, 则将从字典中提取与索引中特定标签相对应的值。

#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

使用标量创建系列:

如果采用标量值, 则必须提供索引。标量值将被重复以匹配索引的长度。

#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对象的信息的属性:

Attributes Description
Series.index 定义系列的索引。
系列形状 它返回数据形状的元组。
Series.dtype 它返回数据的数据类型。
Series.size 它返回数据的大小。
空系列 如果Series对象为空, 则返回True, 否则返回false。
Series.hasnans 如果有任何NaN值, 则返回True, 否则返回false。
Series.nbytes 它返回数据中的字节数。
Series.ndim 它返回数据中的维数。
Series.itemsize 它返回item数据类型的大小。

检索序列对象的索引数组和数据数组

我们可以使用属性index和values检索现有Seri​​es对象的索引数组和数据数组。

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与Series对象一起用作<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)

输出

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

检查NaN的空性和存在性

要检查Series对象是否为空, 可以使用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   True
True    False   False
4   3
3   3

系列功能

系列中使用的一些功能如下:

Functions Description
PandasSeries.map() 映射两个具有公共列的系列的值。
PandasSeries.std() 计算给定数字集, DataFrame, 列和行的标准偏差。
PandasSeries.to_frame() 将系列对象转换为数据框。
PandasSeries.value_counts() 返回一个包含唯一值计数的Series。

本文地址:H5W3 » Python Pandas系列series用法详细介绍

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址