Pandas 从元组列表构建DataFrame

Pandas 从元组列表构建DataFrame

在本文中,我们将介绍如何使用 pandas 将元组列表转换为 DataFrame。元组列表中包含了每一行数据中的行、列名以及值。

假设我们有以下元组列表:

data = [(0, 'A', 1),
        (0, 'B', 2),
        (1, 'A', 3),
        (1, 'B', 4)]
Python

它包含了一个由 4 个元素构成的表格,其中有两行和两列,在第一列中有一个名为“A”的变量,在第二列中有一个名为“B”的变量。现在,我们将使用 pandas 将其转换为 DataFrame。

阅读更多:Pandas 教程

创建空的DataFrame并设置行和列的名称

要将元组列表转换为 DataFrame,首先需要创建一个空的 DataFrame,并分别将行和列的名称添加到其中。下面的代码演示了如何实现这一步骤:

import pandas as pd

# 创建空的DataFrame
df = pd.DataFrame()

# 添加行和列名称
rows = set([x[0] for x in data])
cols = set([x[1] for x in data])
df = df.reindex(index=rows, columns=cols)
Python

在这里,我们使用 pd.DataFrame() 创建了一个空的 DataFrame。然后,我们使用 set() 函数从原始列表中获取所有行和列的名称,以便在 DataFrame 中使用。最后,我们使用 df.reindex() 方法将行和列的名称添加到 DataFrame 中。

为 DataFrame 中的元素赋值

在我们创建了 DataFrame 并设置了行和列的名称之后,我们需要使用元组列表中的每个元素来填充 DataFrame。下面的代码演示了如何实现这一步骤:

for (row, col, val) in data:
    df.at[row, col] = val
Python

这里,我们使用 for 循环遍历元组列表,并将每个元素的值插入到 DataFrame 中。df.at[row, col] = val 语句用于在 DataFrame 中设置元素的值。

现在,我们已经成功地将元组列表转换为 DataFrame。接下来,让我们来完成一些示例操作。

示例

获取 DataFrame 的形状

使用 df.shape 可以查看 DataFrame 的形状,代码如下:

print(df.shape)
Python

输出结果为:

(2, 2)
Python

获取 DataFrame 中的行和列

我们可以使用 df.indexdf.columns 来获取 DataFrame 中的行和列,代码如下:

print(df.index)
print(df.columns)
Python

输出结果为:

Int64Index([0, 1], dtype='int64')
Index(['A', 'B'], dtype='object')
Python

获取 DataFrame 中的元素

我们可以使用 df.at[row,col] 来获取 DataFrame 中的元素,代码如下:

print(df.at[0,'A'])
print(df.at[0,'B'])
Python

输出结果为:

1.0
2.0
Python

添加新的一行

我们可以使用 df.loc 来添加新的一行,代码如下:

df.loc[2] = [5, 6]
print(df)
Python

输出结果为:

     A    B
0  1.0  2.0
1  3.0  4.0
2  5.0  6.0
Python

添加新的一列

我们可以使用以下代码向 DataFrame 中添加新的一列:

df['C'] = [10, 20, 30]
print(df)
Python

输出结果为:

     A    B   C
0  1.0  2.0  10
1  3.0  4.0  20
2  5.0  6.0  30
Python

保存 DataFrame 到文件

使用 to_csv() 函数可以将 DataFrame 保存到文件中,代码如下:

df.to_csv('data.csv', index=False)
Python

这里,我们将 DataFrame 保存到名为 “data.csv” 的文件中,并设置 index=False 的参数,以便在保存到文件中时不包括行索引。

总结

在本文中,我们介绍了如何使用 pandas 从元组列表构建 DataFrame。具体来说,我们使用 pd.DataFrame() 创建一个空的 DataFrame,并使用 df.reindex() 添加行和列的名称。然后,我们使用 for 循环来遍历元组列表,并使用 df.at[row,col] 将元组列表中的元素插入到 DataFrame 中。最后,我们完成了一些示例操作来展示如何使用 DataFrame。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册