小白学 ‎Python 数据分析(4):Pandas ‎(三)数据结构‎ DataFrame

来源:kmgdwlc.com   作者:   发表时间:2020-02-17 14:46:01

在家为国家做贡献太无聊,不如跟我一起学点 Python

人生苦短,我用 Python

DataFrame 是由多种类型的列构成的二维标签数据结构。

简单理解是类似于 Excel 、 SQL 表的结构。

DataFrame 是最常用的 Pandas 对象,与 Series 一样,DataFrame 支持多种类型的输入数据:

同 Excel 一样, DataFrame 拥有行标签( index )和列标签( columns ),可以理解为 Excel 的行和列。

在构建 DataFrame 的时候,可以有选择的传递 index 和 columns 参数。

这样可以确保生成的 DataFrame 里包含索引或列。

注意: Python > = 3.6,且 Pandas > = 0.23,数据是字典,且未指定 columns 参数时,DataFrame 的列按字典的插入顺序排序。

Python < 3.6 或 Pandas < 0.23,且未指定 columns 参数时,DataFrame 的列按字典键的字母排序。

在通过 Series 构建 DataFrame 的时候,生成的 index (索引)是每个 Series 索引的并集。

先把嵌套字典转换为 Series 。如果没有指定列, DataFrame 的列就是字典键的有序列表。

这里我们在字典中使用两个字符串 one 和 two 作为字典的 key ,在构造 DataFrame 时会自动的使用我们的字典的 key 作为自己的 columns (列)。

如果我们在构造 DataFrame 手动指定索引,那么将会使用我们自行指定的索引,示例如下:

如果我们同时指定 index 和 column ,那么 DataFrame 也将会使用我们指定的索引和列,如果我们指定的 index 或者 column 不存在,将会使用 NaN 进行默认值填充,示例如下:

注意: 这里有一点需要注意,指定列与数据字典一起传递时,传递的列会覆盖字典的键。

在使用 Series 构建 DataFrame 时, DataFrame 会自动继承 Series 的索引,如果没有指定列名,默认列名是输入 Series 的名称。

首先,多维数组的长度必须相同。

如果传递了索引参数,index 的长度必须与数组一致。

如果没有传递索引参数,那么将会按照序列从 0 开始,自动生成,示例如下:

元组字典可以自动创建多层索引 DataFrame。

创建好了 DataFrame 以后,我们自然是希望可以动态的操作它,那么标准的 CRUD 操作必不可少。

获取数据示例如下,这里我们使用 df4 做演示:

插入标量值,将会全部的列都插入,如下:

插入与 DataFrame 索引不同的 Series 时,以 DataFrame 的索引为准:

可以插入原生多维数组,但长度必须与 DataFrame 索引长度一致。

编辑:

未经授权许可,不得转载或镜像
© Copyright © 1997-2019 by kmgdwlc.com all rights reserved