pandas 基本数据结构 | 您所在的位置:网站首页 › 下蹲的两种基本方法是什么 › pandas 基本数据结构 |
pandas 基本数据结构
一、pandas 基本数据结构 1、pandas 中主要有两种数据结构,分别是:Series 和 DataFrame。 2、Series:一种类似于一维数据的对象,是由一组数据(各种 Numpy 数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的 Series 对象。注意:Series 中的索引值是可以重复的。 3、DataFrame:一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame 即有行索引也有列索引,可以被看做是由 Series 组成的字典。 二、Series 1、创建 Series (1) 通过一维数组创建:
可以指定 Series 的索引以及 数据类型:
(2)、通过字典的方式创健: 通过字典创建 Series 时,字典中的 key 组成 Series 中的索引,字典中的 values 组成 Series 中的 values。
2、常见 Series 属性 Series 对象本身以及索引都具有一个 name 属性,默认为空,根据需要可以进行赋值操作。
编号属性或方法描述1axes返回行轴标签列表2dtype返回对象的数据类型(dtype)3empty如果系列为空,则返回True4ndim返回底层数据的维数,默认定义:15size返回基础数据中的元素数6values将系列作为 ndarray 返回7head()返回前 n 行8tail()返回最后 n 行 (1) axies 返回行轴标签列表:
(2) dtype 返回对象的数据类型(dtype)
(3) empty 如果系列为空,则返回 True。
(4) ndim 返回底层数据的维数,默认定义:1。
(5) size 返回基础数据中的元数据。
(6) values 将系列作为 ndarray 返回。
(7) head() 返回前 n 行。
(8) tail() 返回最后 n 行。
3、Series 值的获取 (1) Series 值的获取主要有两种方式: a、通过 方括号 + 索引 的方式读取对应索引的数据,有可能返回多条数据。
b、通过 方括号 + 下标值 的方式读取对应下标值的数据,下标值的取值范围为:[0, len(Series.values)];另外下标值也可以是负数,表示从右往左获取数据。
(2) Series 获取多个值的方式类似 NumPy 中的 ndarray 的切片操作,通过 方括号 + 下标值 / 索引值 + 冒号(:) 的形式来截取 series 对象中的一部分数据。
(3) 花式索引:
4、Series 的运算 (1) NumPy 中的数组运算,在 Series 中都保留了,均可以使用,并且 Series 进行数组运算的时候,索引与值之间的映射关系不会发生改变。
(2) 注意:其实在操作 Series 的时候,基本上可以把 Series 看成 NumPy 中的 ndarray 数组来进行操作。ndarray 数组的绝大多数操作都可以应用到 Series 上。
5、Series 自动对齐 当多个 series 对象之间进行运算的时候,如果不同 series 之间具有不同的索引值,那么运算会自动对齐相同索引值的数据,如果某个 series 没有某个索引值,那么最终结果会赋值为 NaN。
6、Series 缺失值检测 (1) NaN(Not a Number) 在 pandas 中用于表示一个缺失值或者NAN值。
(2) pandas 中的 isnull 和 notnull 两个函数可以用于在 Series 中检测缺失值,这两个函数的返回是一个布尔类型的 Series。 a、isnull:
b、notnull:
c、设置指定值:
三、DataFrame 1、DataFrame 创建 (1) 通过二维数组创建 数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列。 数据帧(DataFrame)的功能特点: 潜在的列是不同的类型 大小可变 可以对行和列执行算术运算 pandas 中的 DataFrame 可以使用以下构造函数创建: pandas.DataFrame(data, index, columns, dtype, copy) 编号参数描述1data数据采取各种形式,如:ndarray,series,map,lists,dict,constant和另一个 DataFrame。2index对于行标签,要用于结果帧的索引是可选缺省值np.arrange(n),如果没有传递索引值。3columns对于列标签,可选的默认语法是--np.arrange(n)。这只有在没有索引传递的情况下才是这样。4dtype每列的数据类型。5copy如果默认值为False,则此命令(或任何它)用于复制数据。
(2) 通过字典的方式创建
2、DataFrame 数据获取: (1) 可以直接通过列索引获取指定列的数据,eg:df[column_name] a、列选择:
b、列添加:
c、列修改:
d、列删除:df.pop()、del()
(2) 如果需要获取指定行的的数据的话,需要通过 ix 方法来获取对应行索引的行数据,eg:df.ix[index_name]、loc、iloc a、行选择:
b、选择多行:
c、选择某行某列:
d、通过数字下标选择:
e、行切片:
f、行添加:
g、行修改:
h、行删除:
四、索引对象 1、不管是 Series 还是 DataFrame 对象,都有索引对象。 2、索引对象负责管理轴标签和其他元数据(eg:轴名称等等)。 3、通过索引可以从 Series、DataFrame 中获取值或者对某个索引值进行重新赋值。 4、Series 或者 DataFrame 的自动对齐功能是通过索引实现的。
|
CopyRight 2018-2019 实验室设备网 版权所有 |