Python Pandas中数据帧和矩阵的区别?
本文将介绍Python Pandas中数据帧和矩阵的区别。
数据帧和矩阵都是二维数据结构。一般来说,数据帧可以包含 多个 数据类型(数字、字符、因子等),而矩阵只能存储 一种 数据类型。
Python中的数据帧
在Python中,数据帧是一个二维的、表格式的、可变的数据结构,可以存储包含多种数据类型对象的表格数据。数据帧具有以行和列形式标记的轴。数据框在数据预处理中是非常有用的工具,因为它们提供了宝贵的数据处理方法。数据帧也可以用于创建数据透视表和使用Matplotlib绘制数据。
数据帧的应用
- 数据帧可以执行各种任务,例如适合统计公式。
-
数据处理(矩阵不支持,必须先转换为数据帧)。
-
转换行为列及其反之,在数据科学中非常有用。
创建一个样本数据框
算法(步骤)
下面是执行所需任务的算法/步骤 −
- 使用import关键字,导入带有别名名称的pandas、numpy模块。
-
使用pandas模块的 DataFrame() 函数创建数据帧。
-
打印输入数据框。
示例
以下程序使用 DataFrame() 函数返回一个数据帧 −
# importing pandas, numpy modules with alias names
import pandas as pd
import numpy as np
# creating a dataframe
inputDataframe = pd. **DataFrame({** 'Name': ['Virat', 'Rohit', 'Meera', 'Nick', 'Sana'], 'Jobrole': ['Developer', 'Analyst', 'Help Desk', 'Database Developer', 'Finance accountant'], 'Age': [25, 30, 28, 25, 40] **})**
# displaying the dataframe
print(inputDataframe)
输出
在执行上述程序时,将生成以下输出 −
Name Jobrole Age
0 Virat Developer 25
1 Rohit Analyst 30
2 Meera Help Desk 28
3 Nick Database Developer 25
4 Sana Finance accountant 40
Python 中的矩阵
矩阵是一个二维矩形网格中组织的同质数据集的集合。它是具有相同数据类型的m*n数组。它使用向量输入创建。它有固定的行和列数。在Python中,矩阵支持多种算术操作,如加、减、乘和除法。
矩阵的应用
- 在经济学中,它非常有用,用于计算统计数据,例如国内生产总值 (Gross Domestic Product) 或人均收入价格 (Price per capita income)。
-
它也用于研究电路和电子电路。
-
打印输入数据框。
-
矩阵在调查研究中被用于绘制图形。
-
这在概率和统计中很有用。
将矩阵转换为数据框的矩阵乘法
算法 (步骤)
下面是执行所需任务的算法/步骤-
- 使用 import 关键字来导入 pandas 模块,并起一个别名。
-
创建两个变量,分别存储输入矩阵。
-
使用 pandas 模块的 DataFrame() 函数 (创建数据框) 创建两个矩阵的数据框,并将它们分别存储在不同的变量中。 这里将数据装入 pandas 数据框中。
-
打印输入矩阵1的数据框。
-
应用 shape 属性,打印输入矩阵1的维度(shape)。
-
打印输入矩阵2的数据框。
-
应用 shape 属性,打印输入矩阵2的维度(shape)。
-
使用 dot() 函数将输入矩阵1和输入矩阵2相乘,并创建变量存储结果矩阵。
-
打印输入矩阵1和输入矩阵2的乘积的结果矩阵。
-
应用 shape 属性,打印结果矩阵的维度(shape)。
示例
以下程序使用 DataFrame() 函数返回数据框。
# 导入pandas模块
import pandas as pd
# 输入矩阵1
inputMatrix_1 = [[1, 2, 2],
[1, 2, 0],
[1, 0, 2]]
# 输入矩阵2
inputMatrix_2 = [[1, 0, 1],
[2, 1, 1],
[2, 1, 2]]
# 创建第一个矩阵的数据框
# (此处将数据加载到pandas DataFrames中)
df_1 = pd.DataFrame(data=inputMatrix_1)
# 创建第二个矩阵的数据框
df_2 = pd.DataFrame(data=inputMatrix_2)
# 打印输入矩阵1的数据框
print("inputMatrix_1:")
print(df_1)
# 打印输入矩阵1的维度(形状)
print("The dimensions(shape) of input matrix 1:")
print(df_1.shape)
print()
# 打印输入矩阵2的数据框
print("inputMatrix_2:")
print(df_2)
# 打印输入矩阵2的维度(形状)
print("The dimensions(shape) of input matrix 2:")
print(df_2.shape)
print()
# 将输入矩阵1和输入矩阵2相乘
result_mult = df_1.dot(df_2)
# 打印输入矩阵1和输入矩阵2的矩阵乘积结果
print("Resultant Matrix after Matrix multiplication:")
print(result_mult)
# 打印矩阵乘积结果的维度(形状)
print("Thedimensions(shape) of Resultant Matrix:")
print(result_mult.shape)
输出
inputMatrix_1:
0 1 2
0 1 2 2
1 1 2 0
2 1 0 2
The dimensions(shape) of input matrix 1:
(3, 3)
inputMatrix_2:
0 1 2
0 1 0 1
1 2 1 1
2 2 1 2
The dimensions(shape) of input matrix 2:
(3, 3)
Resultant Matrix after Matrix multiplication:
0 1 2
0 9 4 7
1 5 2 3
2 5 2 5
The dimensions(shape) of Resultant Matrix:
(3, 3)
下面是矩阵和数据框的差异表格。
Matrix vs Dataframe
矩阵 | Dataframe |
---|---|
这是一系列数据集按照二维矩形组织的集合 | 数据框存储了具有多个数据类型的数据表,其中多列被称为字段。 |
矩阵是一个具有相同数据类型的m*n数组 | 数据框是长度相同的向量的列表。数据框是矩阵的泛化形式。 |
矩阵具有固定的行数和列数。 | 数据框的行数和列数是可变的。 |
同构的 | 异构的 |
结论
我们在这个程序中学习了Python中矩阵和数据框之间的区别。我们还学习了如何制作数据框并将矩阵转换为数据框。