-Pandas-DataFrame-绝对入门指南-

《Pandas DataFrame 绝对入门指南》

原文:towardsdatascience.com/the-absolute-beginners-guide-to-pandas-dataframes/

来自 SQL 背景,学习 Python 进行数据分析有些挑战。语法更简单——是真的。然而,语言和术语完全不同。在 SQL 中,你将不得不与数据库、表和列进行交互。然而,在 Python 中,数据分析的核心将是数据结构。

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”)

输出:

![Image by Author

![图片由作者提供

就这样!

总结

在 pandas 中创建 DataFrame 可能看起来很复杂,但实际上并不复杂。在大多数情况下,你可能无论如何都会读取 CSV 文件。所以别担心。我希望你觉得这篇文章有帮助。欢迎在评论中分享你的想法。感谢阅读!

想要联系?在这些平台上随意打招呼

LinkedIn

Twitter

YouTube

Medium

posted @ 2026-03-27 09:57  布客飞龙II  阅读(7)  评论(0)    收藏  举报