数据分析快速入门_Pandas详解(一)

目录

一、简介

二、主要内容:

1、Series数据结构

(1)通用NumPy数组定义Series

(2)通过Dictionary定义Series

(3)构建系列对象

2、DataFrame 数据结构

(1)DataFrame可以作为一个特殊的字典

(2)从Series创建DataFrame

(3)从字典创建DataFrame

(4)Pandas的Index对象

(5)数据的索引Index和选择

(6)loc 和iloc

(7)在DataFrame中的Data选择

(8)Pandas的运算操作

(9)DataFrame和Series之间的操作

(10)处理缺失数据

(11)处理空值

一、简介

Pandas是一个构建在NumPy之上的较新的包,提供了DataFrame的有效实现。

DataFrames本质上是带有行和列标签的多维数组,通常具有异构类型和/或缺失数据。

Pandas有三种基本的数据结构:

  • Series
  • DataFrame
  • Index

二、主要内容:

1、Series数据结构

Pandas Series是索引数据的一维数组。

Series可以从列表或数组创建。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

(1)通用NumPy数组定义Series

Pandas Series有一个与这些值关联的显式定义的索引。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

(2)通过Dictionary定义Series

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

(3)构建系列对象

基本结构pd.Series(data=data, index=index)

数据分析快速入门_Pandas详解(一)

2、DataFrame 数据结构

DataFrame既可以看作是NumPy数组的泛化,也可以看作是Python字典的专门化。

  • DataFrame作为一个通用的NumPy数组
    数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

DataFrame可以看作是二维NumPy数组的泛化,其中的行和列都有一个用于访问数据的泛化索引。

数据分析快速入门_Pandas详解(一)

(1)DataFrame可以作为一个特殊的字典

数据分析快速入门_Pandas详解(一)

(2)从Series创建DataFrame

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

(3)从字典创建DataFrame

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

(4)Pandas的Index对象

Index对象既可以看作是不可变数组,也可以看作是有序的多集。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

(5)数据的索引Index和选择

如果您使用过NumPy模式(索引、切片、屏蔽、花式索引和它们的组合),那么在Pandas中对应的模式将会非常熟悉,尽管有一些奇怪的地方需要注意。

请记住,Series对象在许多方面类似于1D NumPy数组,在许多方面类似于标准Python字典。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

(6)loc 和iloc

上一节中的切片和索引可能会引起混淆,尤其是当Series的显式索引标签是整数时。

数据分析快速入门_Pandas详解(一)

为了消除这些混淆,Pandas提供了一些”特殊的索引器属性”,这些属性显式地公开某些索引方案。

数据分析快速入门_Pandas详解(一)

(7)在DataFrame中的Data选择

DataFrame在许多方面类似2D NumPy数组,在其他方面类似于共享相同索引的Series对象的字典。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

使用字典样式的语法修改DataFrame对象,在本例中添加一个新列。

数据分析快速入门_Pandas详解(一)

我们可以看到DataFrame是一个增强的二维NumPy数组。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

使用iloc索引器,我们可以使用隐式python风格的索引来索引底层数组,就好像它是一个单一的NumPy数组一样,但是DataFrame索引和列标签在结果中保持不变。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

(8)Pandas的运算操作

Pandas继承了NumPy的大部分功能。

然而,Pandas包含了一些有用的变化:

对于一元运算,如反运算和三角函数,这些ufuncs将在输出中保留索引和列标签。

对于加法和乘法等二进制操作,Pandas将在将对象传递给ufunc时自动对齐索引。

如果我们对这些Pandas对象中的任何一个应用NumPy ufunc,结果将是另一个保留索引的Pandas对象。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

对于两个Series或DataFrame对象的二进制操作,Pandas将在执行操作的过程中对齐索引。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

当您在数据帧上执行操作时,列和索引也会发生类似的对齐类型。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

(9)DataFrame和Series之间的操作

DataFrame和Series之间的操作类似于二维和一维NumPy数组之间的操作。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

(10)处理缺失数据

  1. 处理缺失数据 真实世界的数据很少是整洁,相同的。
  2. 特别是,许多有趣的数据集可能会丢失一些数据。
  3. 麻烦的是,不同的数据源可能以不同的方式表示缺失的数据。
  4. 在本文中,我们通常将缺失的数据称为null、NaN或NA值。
  5. Pandas选择对丢失的数据使用哨兵值,并进一步选择使用两个已经存在的Python空值:特殊的浮点NaN值和Python None对象。
  6. Pandas使用的第一个哨兵值是None,这是一个Python单例对象,通常用于Python代码中缺失的数据。
  7. 因为None是Python对象,所以它不能在任意NumPy/Pandas数组中使用,只能在数据类型为’ object ‘的数组中使用(即Python对象数组)。
  8. 这意味着NumPy可以推断数组内容的最佳通用类型表示形式是它们是Python对象。

数据分析快速入门_Pandas详解(一)

虽然类型对象数组在某些用途上很有用,但对数据的任何操作都将在Python级别上完成,十分耗费时间

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

NumPy确实提供了一些特殊的聚合,这些聚合将忽略这些缺失的值。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

NaN和None都有自己的位置,而Pandas几乎可以交换地处理它们,在适当的地方在它们之间进行转换。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

(11)处理空值

  • Pandas将None和NaN视为本质上可互换的,以指示缺失值或空值。
  • 为了促进这种约定,有几种有用的方法可以检测、删除和替换Pandas数据结构中的空值。
  • Isnull()(它是isna()的别名) 生成一个指示缺失值的布尔掩码。
  • notnull () 相反isnull ()
  • dropna () 返回经过筛选的数据版本
  • fillna () 返回数据的副本,其中填充或计算了缺失的值数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

有时,我们不想删除NA值,而是希望用有效值替换它们。 这个值可能是一个单独的数字,比如0,或者它可能是由好的值进行的某种imputation或插值。

数据分析快速入门_Pandas详解(一)

数据分析快速入门_Pandas详解(一)

指定一个反向填充以向后传播下一个值。

对于数据帧,选项是类似的,但是我们还可以指定填充发生的轴。

注意,如果前一个值在向前填充期间不可用,NA值仍然保留。

数据分析快速入门_Pandas详解(一)

Original: https://blog.csdn.net/m0_59160272/article/details/126607778
Author: 西伯利亚的长颈鹿
Title: 数据分析快速入门_Pandas详解(一)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/754722/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球