Python3数据分析——(2)Pandas快速入门基础

简介: Pandas基础Pandas的名称来自于面板数据(panel data)和Python数据分析(data analysis)。
Pandas基础

Pandas 的名称来自于 面板数据 (panel data)和 Python数据分析 (data analysis)。
Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建,提供了高级数据结构和数据操作工具,它是使Python成为强大而高效的数据分析环境的重要因素之一。
Pandas特点:
1.一个强大的分析和操作大型结构化数据集所需的工具集
2.基础是NumPy,提供了高性能矩阵的运算
3.提供了大量能够快速便捷地处理数据的函数和方法
4.应用于数据挖掘,数据分析
5.提供数据清洗功能
Pandas的数据结构:
import pandas as pd
Pandas有两个最主要也是最重要的数据结构: Series DataFrame
Pandas中使用频率较低的一种数据结构: Panel(Pandas 决定在未来的版本中将 Panel 移除,转而使用 MultiIndex DataFrame 来表示多维数据结构)
Pandas的对齐运算:
数据清洗 的重要过程,可以 按索引对齐进行运算 ,如果没对齐的位置则补 NaN ,最后也可以填充 NaN

一、Series数据结构(一维数据)
1、简要介绍:
(1) Series是一种类似于 一维数组 的对象,由 一组数据 (各种NumPy数据类型)以及一组与之对应的 索引 (数据标签)组成。
(2) 类似一维数组的对象,由 数据和索引 组成(索引(index)在左,数据(values)在右,索引是自动创建的)
(3) Series 是 Pandas 中最基本的一维数据形式。其可以储存 整数、浮点数、字符串 等形式的数据。Series 的新建方法如下: s = pandas.Series(data, index=index) ;其中,data 可以是字典、numpy 里的 ndarray 对象等。index 是数据索引,索引是 pandas 数据结构中的一大特性,它主要的功能是帮助我们更快速地定位数据。

2、通过字典(dict)构建Series


数据值是 10, 20, 30,索引为 a, b, c 。
我们也可以直接通过 index= 参数来设置新的索引,如下

pandas 会自动匹配人为设定的索引值和字典转换过来的索引值。而当索引无对应值时,会显示为 NaN 缺失值。
3、通过ndarray构建Series
ndarray 是著名数值计算包 numpy 中的多维数组。我们也可以将 ndarray 直接转换为 Series。
(1)指定了 index 的值

(2)非人为指定索引值时,Pandas 会默认从 0 开始设置索引值。

(3)从一维数据 Series 中返回某一个值时,可以直接通过索引完成

(4)对Series 直接进行运算

(5)Series的对齐运算

注意 :填充未对齐的数据进行运算
使用add, sub, div, mul的同时,通过fill_value指定填充值,未对齐的数据将和填充值做运算
示例代码:print(s1)
print(s2)
s1.add(s2, fill_value = -1)

二、DataFrame数据结构(二维数据)
1、简要介绍
(1) DataFrame 是一个 表格型的数据结构 ,它含有一组有序的列,每列可以是不同类型的值。DataFrame既有 行索引 也有 列索引 ,它可以被看做是由Series组成的字典(共用同一个索引),数据是以 二维结构 存放的。
(2) 特点 :类似多维数组/表格数据 (如,excel, R中的data.frame);每列数据可以是不同的类型;索引包括列索引和行索引
(3) DataFrame 可以用于储存多种类型的输入:
  • 一维数组、列表、字典或者 Series 字典。
  • 二维 numpy.ndarray。
  • 结构化的 ndarray。
  • 一个 Series。
  • 另一个 DataFrame。
2、通过字典(dict)构建DataFrame
(1)通过Series的字典构建DataFrame

行索引为 a, b, c, d ,而列索引为 one, two
(2)通过ndarray或list的字典构建DataFrame


3、通过带字典的列表构建DataFrame

4、DataFrame.from_ 方法
pandas的 DataFrame 下面还有 4 个以 from_ 开头的方法,这也可以用来创建 Dataframe。

5、DataFrame中列的选择、删除和添加
一维数据结构Series 中,我们用  df['标签'] 来选择行。在二维数据 DataFrame 中, df['标签'] 表示选择列。


6、DataFrame的对齐运算

三、Panel数据结构(三维数据)
1、简要介绍
(1) Panel是Pandas中使用频率较低的一种数据结构,但它是 三维数据 的重要容器。
(2) Panel data又称 面板数据 ,它是计量经济学中派生出来的一个概念。在计量经济学中,数据大致可分为三类: 截面数据 时间序列数据 面板数据 。而面板数据即是截面数据与时间序列数据综合起来的一种数据类型。
简单来讲, 截面数据 指在某一时间点收集的不同对象的数据。而 时间序列数据 是指同一对象在不同时间点所对应的数据集合。
这里引用一个城市和 GDP 关系的示例来解释上面的三个概念:
截面数据:
  • 例如城市:北京、上海、重庆、天津在某一年的 GDP 分别为10、11、9、8(单位亿元)。
时间序列数据:
  • 例如:2000、2001、2002、2003、2004 各年的北京市 GDP 分别为8、9、10、11、12(单位亿元)。
面板数据:
  • 2000、2001、2002、2003、2004 各年中国所有直辖市的 GDP 分别为(单位亿元):北京市分别为 8、9、10、11、12;上海市分别为 9、10、11、12、13;天津市分别为 5、6、7、8、9;重庆市分别为 7、8、9、10、11。
(3) Panel 构成
在 Pandas 中,Panel 主要由三个要素构成:
  • items: 每个项目(item)对应于内部包含的 DataFrame。
  • major_axis: 每个 DataFrame 的索引(行)。
  • minor_axis: 每个 DataFrame 的索引列。
简言之,在 Pandas 中,一个 Panel由多个 DataFrame 组成。
2、生成一个Panel

可以看到,wp 由 2 个项目、5个主要轴和4个次要轴组成。其中,主要轴由2000-01-01 到2000-01-05这5天组成的时间序列,次轴从A到D。

3、由于 Panel 在 Pandas 中的使用频率远低于 Series 和 DataFrame,所以 Pandas 决定在未来的版本中将 Panel 移除,转而使用 MultiIndex DataFrame 来表示多维数据结构。

补充 :Pandas统计计算和描述


#描述和汇总的方法
count 非Nan数量
describe 针对个列汇总统计
min和max 最大最小值
argmin、argmax 计算最大值或最小值对应的索引位置
quantile 计算样本的分位数(0-1)
mean 均值
median 中位数
mad 平均绝对离差
var 样本方差
std 样本的标准差
skew 样本值的偏度
kurt 样本值的峰度
cumsum 样本值的累计和



注:
Pandas官网: http://pandas.pydata.org/





相关文章
|
27天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【10月更文挑战第42天】本文是一篇技术性文章,旨在为初学者提供一份关于如何使用Python进行数据分析的入门指南。我们将从安装必要的工具开始,然后逐步介绍如何导入数据、处理数据、进行数据可视化以及建立预测模型。本文的目标是帮助读者理解数据分析的基本步骤和方法,并通过实际的代码示例来加深理解。
56 3
|
1月前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
|
1月前
|
存储 数据可视化 数据挖掘
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
|
1月前
|
数据采集 存储 数据可视化
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
1月前
|
数据采集 数据可视化 数据挖掘
深入浅出:使用Python进行数据分析的基础教程
【10月更文挑战第41天】本文旨在为初学者提供一个关于如何使用Python语言进行数据分析的入门指南。我们将通过实际案例,了解数据处理的基本步骤,包括数据的导入、清洗、处理、分析和可视化。文章将用浅显易懂的语言,带领读者一步步掌握数据分析师的基本功,并在文末附上完整的代码示例供参考和实践。
|
1月前
|
数据采集 数据可视化 数据挖掘
掌握Python数据分析,解锁数据驱动的决策能力
掌握Python数据分析,解锁数据驱动的决策能力
|
1月前
|
数据采集 数据可视化 数据挖掘
Python数据分析:Pandas库实战指南
Python数据分析:Pandas库实战指南
|
1月前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
88 4
数据分析的 10 个最佳 Python 库