-Pandas-DataFrame-绝对入门指南-
《Pandas DataFrame 绝对入门指南》
原文:
towardsdatascience.com/the-absolute-beginners-guide-to-pandas-dataframes/
Python 中的数据结构就像数据存储对象。Python 包含几个内置数据结构,如列表、元组、集合和字典。所有这些都用于存储和管理数据。有些是可变的(列表)和不可变的(元组)。要了解更多关于 Python 数据结构的信息,我强烈推荐阅读 Wes McKinney 的书籍“Python for Data Analysis”。我刚开始阅读它,我认为它很棒。
在这篇文章中,我将逐步向您介绍 Pandas 中的 DataFrame 是什么以及如何创建它。
理解数组基础
Python 中有一个名为 NumPy 的库;你可能听说过它。它主要用于数学和数值计算。它提供的一个功能是能够创建数组。你可能想知道。数组究竟是什么东西?
数组类似于列表,但它只存储相同数据类型的值。然而,列表可以存储不同数据类型的值(整数、文本、布尔值等)。以下是一个列表的例子
my_list = [1, “hello”, 3.14, True]
列表也是可变的。换句话说,你可以添加和删除元素。
回到数组。在 Numpy 中,数组可以是多维的——这被称为 ndarrays(N 维数组)。例如,让我们在 Python 中导入 Numpy 库。
import numpy as np
在 Numpy 中创建基本数组时,我们使用 np.array() 函数。在这个函数中,我们的数组被存储。
arr = np.array([1, 2, 3, 4, 5])
arr
这是结果:
array([1, 2, 3, 4, 5])
检查数据类型。
type(arr)
我们将获取数据类型。
numpy.ndarray
数组的一个酷特点是你可以对它们进行数学计算。例如
arr*2
结果:
array([ 2, 4, 6, 8, 10])
非常酷,对吧?
现在你已经了解了 Numpy 中数组的基础知识。让我们更深入地了解 N 维数组。
你看到的数组是一个 1 维(1D)数组。也称为向量数组,1D 数组由一系列值组成。就像这样,[1,2,3,4,5]
二维数组(矩阵) 可以存储 1D 数组作为值。类似于 SQL 表中的行,每个 1D 数组就像一行数据。输出就像一个值网格。例如:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr
输出:
[[1 2 3]
[4 5 6]]
三维数组(张量) 可以存储 2D 数组(矩阵)。例如,
import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])
arr
输出:
[[[1 2 3]
[4 5 6]]
[[1 2 3]
[4 5 6]]]
数组可以有无限多的维度,这取决于你想要存储的数据量。
从数组创建数据框
现在你已经了解了数组的基本概念。让我们从一个数组创建一个 DataFrame。
首先,我们必须导入 pandas 和 NumPy 库
import pandas as pd
import numpy as np
接下来,创建我们的数组:
data = np.array([[1, 4], [2, 5], [3, 6]])
这里,我创建了一个二维数组。Pandas DataFrame 只能存储一维和二维数组。如果你尝试传入一个三维数组,你会得到一个错误。
现在我们有了我们的数组。让我们将其传递到我们的 DataFrame 中。要创建 DataFrame,请使用pd.DataFrame()函数。
# creating the DataFrame
df = pd.DataFrame(data)
# showing the DataFrame
df
输出
0 1
0 1 4
1 2 5
2 3 6
到目前为止看起来不错。但需要一点格式化:
# creating a dataframe
df = pd.DataFrame(data, index=['row1', 'row2', 'row3'],
columns=['col1', 'col2'])
# showing the dataframe
df
输出
col1 col2
row1 1 4
row2 2 5
row3 3 6
现在好多了。我所做的就是使用索引属性重命名行,使用列属性重命名列。
就这样,你已经有了你的 DataFrame。就这么简单。让我们探索一些更多实用的创建 DataFrame 的方法。
从字典创建 DataFrame
Python 提供的一个内置数据结构是字典。基本上,字典用于存储键值对,其中所有键必须是唯一的且不可变的。它由大括号{}表示。以下是一个字典的示例:
dict = {"name": "John", "age": 30}
这里,键是 name 和 age,值是 Alice 和 30。就这么简单。现在,让我们从一个字典创建一个 DataFrame。
names = ["John", "David", "Jane", "Mary"]
age = [30, 27, 35, 23]
首先,我创建了一个列表来存储多个姓名和年龄:
dict_names = {'Names': names, 'Age': age}
接下来,我将所有值存储在一个字典中,并为名称和年龄创建了键。
# Creating the dataframe
df_names = pd.DataFrame(dict_names)
df_names
上面,我们有一个存储了我们创建的字典的 DataFrame。下面是输出:
Names Age
0 John 30
1 David 27
2 Jane 35
3 Mary 23
就这样,我们从一个字典创建了一个 DataFrame。
从 CSV 文件创建 DataFrame
这可能是你将最常使用的方法。在尝试进行数据分析时,在 pandas 中读取 CSV 文件是一种常见的做法。类似于在 Excel 中打开电子表格或导入数据到 SQL。在 Python 中,你通过使用read_csv()函数来读取 CSV 文件。以下是一个示例:
# reading the csv file
df_exams = pd.read_csv('StudentsPerformance.csv')
在某些情况下,你需要复制文件路径并将其粘贴为:
pd.read_csv(“C:\data\suppliers lists — Sheet1.csv”)
输出:

浙公网安备 33010602011771号