Pandas 数据处理
pd可以完成对数据集进行快速读取、转换、过滤、分析等一系列操作。除此之外,Pandas 拥有强大的缺失数据处理与数据透视功能,是数据预处理中的利器。
1.数据类型:
Pandas 的数据类型主要有以下几种,它们分别是:Series(一维数组),DataFrame(二维数组),Panel(三维数组),Panel4D(四维数组),PanelND(更多维数组)。其中 Series 和 DataFrame 应用的最为广泛,几乎占据了使用频率 90% 以上。
Pandas 基于 NumPy 开发。那么 NumPy 的数据类型 ndarray 多维数组自然就可以转换为 Pandas 中的数据。而 Series 则可以基于 NumPy 中的一维数据转换。
2.DataFrame :DataFrame 和平常的电子表格或 SQL 表结构相似,它和 Series 的直观区别在于,数据不但具有行索引,且具有列索引。
区别于 Series,其增加了 columns 列索引。DataFrame 可以由以下多个类型的数据构建:
一维数组、列表、字典或者 Series 字典。
二维或者结构化的 numpy.ndarray。
一个 Series 或者另一个 DataFrame。
3. 数据读取: Pandas 提供了一系列的方法来读取外部数据,非常全面。读取数据 CSV 文件的方法是 pandas.read_csv(),可以直接传入一个相对路径,或者是网络 URL。pd.read_前缀开始的方法还可以读取各式各样的数据文件,且支持连接数据库。DataFrame 是 Pandas 构成的核心。一切的数据,无论是外部读取还是自行生成,我们都需要先将其转换为 Pandas 的 DataFrame 或者 Series 数据类型。
pandas预览数据的方法:
4. 数据选择:
a、Pandas 中的 .iloc 方法。该方法可以接受的类型有:
整数。例如:4
整数构成的列表或数组。例如:[1, 2, 3]
布尔数组。
可返回索引值的函数或参数。
b 、df.loc[] 可以接受的类型有:
单个标签。例如:2 或 'a',这里的 2 指的是标签而不是索引位置。
列表或数组包含的标签。例如:['A', 'B', 'C']。
切片对象。例如:'A':'E',注意这里和上面切片的不同支持,首尾都包含在内。
布尔数组。
可返回标签的函数或参数。
5.数据删减: Pandas 中, .drop()方法是数据删减。DataFrame.drop 可以直接去掉数据集中指定的列和行。一般在使用时,我们指定 labels 标签参数,然后再通过 axis 指定按列或按行删除即可。
6. 数据填充: Pandas 中用于检测缺失值主要用到两个方法,分别是:isna() 和 notna(),故名思意就是「是缺失值」和「不是缺失值」。默认会返回布尔值用于判断
插值填充:就是借助于一个函数(线性或非线性),再根据已知数据去求解未知数据的值。插值在数据领域非常常见,可以通过 interpolate() 方法完成线性插值。对于 interpolate() 支持的插值算法,也就是 method= 注意一下几点:
1.如果数据增长速率越来越快,可以选择 method='quadratic'二次插值。
2.如果数据集呈现出累计分布的样子,推荐选择 method='pchip'。
3.如果需要填补缺省值,以平滑绘图为目标,推荐选择 method='akima'。
当然,最后的 method='akima',需要环境中安装了 Scipy 库。除此之外,method='barycentric' 和 method='pchip' 同样也需要 Scipy 才能使用。