📜  从字典词典创建 Pandas 数据框(1)

📅  最后修改于: 2023-12-03 15:36:17.240000             🧑  作者: Mango

从字典或词典创建 Pandas 数据框

Pandas 是一个非常流行的 Python 数据处理库,提供了许多功能强大且易于使用的数据结构和工具,其中最基本的数据结构是数据框(DataFrame)。数据框是一个二维表格,类似于 Excel 表格或 SQL 数据库中的表格,它由行和列组成,每个列可以包含不同类型的数据。

在 Pandas 中创建数据框最常用的方法是从字典或词典创建:

从字典创建数据框

字典(dict)是 Python 中非常常见的数据结构,它由键和值组成,可以用来表示一组相关的键值对。要从字典创建数据框,只需将字典传递给 Pandas 的 DataFrame 函数即可:

import pandas as pd

# 定义字典
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 35, 30, 27],
        'Gender': ['F', 'M', 'M', 'M'],
        'Height': [165, 180, 175, 170]}

# 创建数据框
df = pd.DataFrame(data)

# 打印数据框
print(df)

输出结果如下:

       Name  Age Gender  Height
0     Alice   25      F     165
1       Bob   35      M     180
2   Charlie   30      M     175
3     David   27      M     170

在这个例子中,我们定义了一个字典 data,它包含了若干列的数据,每列的键是列名,值是列数据。然后我们将字典传递给 DataFrame 函数,创建了一个名为 df 的数据框。最后打印数据框,可以看到它由四个列和四行组成,每个列的类型是自动推断的。

从词典创建数据框

除了普通的字典,Pandas 还支持类似 Excel 中的词典(OrderedDict),也就是按指定顺序排列的键值对集合。要从词典创建数据框,只需将词典传递给 Pandas 的 DataFrame 函数,然后使用列名的列表指定列的顺序即可:

import pandas as pd
from collections import OrderedDict

# 定义词典
data = OrderedDict([('Name', ['Alice', 'Bob', 'Charlie', 'David']),
                    ('Age', [25, 35, 30, 27]),
                    ('Gender', ['F', 'M', 'M', 'M']),
                    ('Height', [165, 180, 175, 170])])

# 指定列名顺序
columns = ['Name', 'Age', 'Gender', 'Height']

# 创建数据框
df = pd.DataFrame(data, columns=columns)

# 打印数据框
print(df)

输出结果与上面相同:

       Name  Age Gender  Height
0     Alice   25      F     165
1       Bob   35      M     180
2   Charlie   30      M     175
3     David   27      M     170

在这个例子中,我们定义了一个词典 data,它与前面的字典相同,只是用 OrderedDict 指定了顺序。然后我们定义了一个列名的列表 columns,指定了希望数据框中出现的列名的顺序。最后我们将词典和列名列表传递给 DataFrame 函数,创建了名为 df 的数据框。