Python 教程之 Pandas(14)—— 使用 Pandas 进行数据分析

简介: Python 教程之 Pandas(14)—— 使用 Pandas 进行数据分析

Pandas是最流行的用于数据分析的 Python 库。它提供高度优化的性能,后端源代码完全用CPython编写。

我们可以通过以下方式分析 pandas 中的数据:
1.Series
2.数据帧

Series:

Series 是 pandas 中定义的一维(1-D)数组,可用于存储任何数据类型。

代码 #1:创建 Series

# 创建 Series 的程序
# 导入 Panda 库
import pandas as pd
# 使用数据和索引创建 Series
a = pd.Series(Data, index = Index)

在这里,数据可以是:

  1. 一个标量值,可以是 integerValue、字符串
  2. 可以是键值对的Python 字典
  3. 一个Ndarray

注意:默认情况下,索引从 0、1、2、...(n-1) 开始,其中 n 是数据长度。


代码 #2:当 Data 包含标量值时

# 使用标量值创建 Series 的程序
# 数值数据
Data =[1, 3, 4, 5, 6, 2, 9]
# 使用默认索引值创建系列
s = pd.Series(Data) 
# 预定义的索引值
Index =['a', 'b', 'c', 'd', 'e', 'f', 'g']
# 创建具有预定义索引值的系列
si = pd.Series(Data, Index)

输出

image.png

具有默认索引的标量数据

image.png

带索引的标量数据

代码#3:当数据包含字典时

# 创建词典 Series 程序
dictionary ={'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
# 创建字典类型 Series
sd = pd.Series(dictionary)

输出

image.png

字典类型数据

代码 #4:当 Data 包含 Ndarray

# 创建 ndarray series 的程序
# 定义二维数组
Data =[[2, 3, 4], [5, 6, 7]]
# 创建一系列二维数组
snd = pd.Series(Data)

输出

image.png

数据作为 Ndarray

数据框:

DataFrames是 pandas 中定义的二维(2-D)数据结构,由行和列组成。

代码 #1:创建 DataFrame

# 创建 DataFrame 的程序
# 导入库
import pandas as pd
# 使用数据创建 DataFrame
a = pd.DataFrame(Data)

在这里,数据可以是:

  1. 一本或多本词典
  2. 一个或多个Series
  3. 2D-numpy Ndarray

 

代码 #2:当数据是字典时

# 使用两个字典创建数据框的程序
# 定义字典 1
dict1 ={'a':1, 'b':2, 'c':3, 'd':4}
# 定义字典 2
dict2 ={'a':5, 'b':6, 'c':7, 'd':8, 'e':9}
# 用 dict1 和 dict2 定义数据
Data = {'first':dict1, 'second':dict2}
# 创建数据框
df = pd.DataFrame(Data)

输出

image.png

带有两个字典的 DataFrame

代码 #3:当数据是Series时

# 创建三个系列的Dataframe的程序
import pandas as pd
# 定义 series 1
s1 = pd.Series([1, 3, 4, 5, 6, 2, 9])
# 定义 series 2
s2 = pd.Series([1.1, 3.5, 4.7, 5.8, 2.9, 9.3])
# 定义 series 3
s3 = pd.Series(['a', 'b', 'c', 'd', 'e']) 
# 定义 Data
Data ={'first':s1, 'second':s2, 'third':s3}
# 创建 DataFrame
dfseries = pd.DataFrame(Data)

输出

image.png

三个 Series 的 DataFrame

 

代码 #4:当 Data 为 2D-numpy ndarray

注意:在创建 2D 数组的 DataFrame 时必须保持一个约束 - 2D 数组的维度必须相同。

# 从二维数组创建 DataFrame 的程序
# 导入库
import pandas as pd
# 定义 2d 数组 1
d1 =[[2, 3, 4], [5, 6, 7]]
# 定义 2d 数组 2
d2 =[[2, 4, 8], [1, 3, 9]]
# 定义 Data
Data ={'first': d1, 'second': d2}
# 创建 DataFrame
df2d = pd.DataFrame(Data)

输出

image.png

带有 2d ndarray 的 DataFrame

目录
相关文章
|
7天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
22 0
|
8天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
23 2
|
9天前
|
索引 Python
如何在Python中使用Pandas库进行季节性调整?
在Python中使用Pandas和Statsmodels进行季节性调整的步骤包括:导入pandas和seasonal_decompose模块,准备时间序列DataFrame,调用`seasonal_decompose()`函数分解数据为趋势、季节性和残差,可选地绘制图表分析,以及根据需求去除季节性影响(如将原始数据减去季节性成分)。这是对时间序列数据进行季节性分析的基础流程。
23 2
|
1天前
|
Linux Python Windows
Python虚拟环境virtualenv安装保姆级教程(Windows和linux)
Python虚拟环境virtualenv安装保姆级教程(Windows和linux)
|
5天前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
【4月更文挑战第25天】R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
|
5天前
|
运维 Shell Python
Shell和Python学习教程总结
Shell和Python学习教程总结
|
7天前
|
数据挖掘 数据处理 索引
如何使用Python的Pandas库进行数据筛选和过滤?
Pandas是Python数据分析的核心库,提供DataFrame数据结构。基本步骤包括导入库、创建DataFrame及进行数据筛选。示例代码展示了如何通过布尔索引、`query()`和`loc[]`方法筛选`Age`大于19的记录。
16 0
|
9天前
|
Python
如何使用Python的Pandas库进行数据缺失值处理?
Pandas在Python中提供多种处理缺失值的方法:1) 使用`isnull()`检查;2) `dropna()`删除含缺失值的行或列;3) `fillna()`用常数、前后值填充;4) `interpolate()`进行插值填充。根据需求选择合适的方法处理数据缺失。
43 9
|
11天前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
10 2
|
11天前
|
机器学习/深度学习 数据挖掘 计算机视觉
python数据分析工具SciPy
【4月更文挑战第15天】SciPy是Python的开源库,用于数学、科学和工程计算,基于NumPy扩展了优化、线性代数、积分、插值、特殊函数、信号处理、图像处理和常微分方程求解等功能。它包含优化、线性代数、积分、信号和图像处理等多个模块。通过SciPy,可以方便地执行各种科学计算任务。例如,计算高斯分布的PDF,需要结合NumPy使用。要安装SciPy,可以使用`pip install scipy`命令。这个库极大地丰富了Python在科学计算领域的应用。
13 1