在 Python 中将列表转换为 Pandas DataFrame

Ankur Baral 2023年1月30日 2021年10月2日
  1. 在 Python 中将列表转换为 Pandas DataFrame
  2. 在 Python 中将列表存储在 Pandas DataFrame 的列中
  3. 在 Python 中将列表转换为带索引的 DataFrame
  4. 在 Python 中使用 zip() 将两个列表压缩到单个 DataFrame 中
  5. 在 Python 中将多维列表转换为 Pandas DataFrame
在 Python 中将列表转换为 Pandas DataFrame

本文将介绍将列表中的项转换为 Pandas DataFrame 的方法。

在 Python 中将列表转换为 Pandas DataFrame

DataFrame,一般是一种二维标记的数据结构。Pandas 是一个开源 Python 包,对数据科学非常有用。

在这里,我们将首先导入 pandas 包。我们将在这个特定程序中将 pandas 包定义为 pd。然后我们将创建一个列表 my_list 来存储列表值 TomMarkTony,它们只是随机名称。然后我们将 pd.DataFrame(my_list) 分配给变量 dfDataFrame(my_list) 方法获取 my_list 的值并用它创建一个 DataFrame。在程序的最后一行,我们调用了存储在变量 df 中的打印 DataFrame。请注意,我们也可以只编写 df 而不是 print(df) 来查看我们的 DataFrame。

示例代码:

#python 3.x
import pandas as pd
my_list = [ 'Tom', 'Mark', 'Tony' ]
df = pd.DataFrame(my_list)
print(df)

输出:

    0
0   Tom
1   Mark
2   Tony

我们可以看到,我们在列表中提供的元素现在位于上述输出的一列中。

在 Python 中将列表存储在 Pandas DataFrame 的列中

我们可以通过在 DataFrame 中创建一列并将转换后的数据存储在该列中来将列表转换为 pandas DataFrame。

要将列表转换为 Pandas DataFrame 列的数据,我们将创建一个列表 my_list 并为列表提供一些随机名称作为值。我们的目标是确保列表元素成为标题为 Names 的列的条目。为此,我们将使用 columns = ['Names'] 将变量 my_list 传递给 pd.DataFrame(),如下所示。然后我们打印 df 变量并运行我们的代码以查看输出。

示例代码:

# python 3.x
import pandas as pd
my_list = [ 'Tom', 'Mark', 'Tony' ]
df = pd.DataFrame(my_list, columns = ['Names'])
print(df)

输出:

    Names
0   Tom
1   Mark
2   Tony

在我们添加一个额外的属性 columns = ['Names'] 之后,我们看到 my_list 中的名称作为 DataFrame 中 Names 列的值。

在 Python 中将列表转换为带索引的 DataFrame

我们还可以在将列表项转换为 DataFrame 的同时索引它们。

我们将创建一个列表 my_list。我们的目标是确保列表元素成为具有预定义行索引的标题为名称的列条目。为此,我们将创建一个列表 index 并用 iiiiii 填充它。我们可以使用列表作为 pd.DataFrame() 中的第二个参数。第一个和第三个参数是 my_listcolumns =['Names']。然后,我们将打印存储我们编写的表达式的变量 df

示例代码:

# python 3.x
import pandas as pd
my_list = [ ' Tom', 'Mark', 'Tony' ]
df = pd.DataFrame(my_list, index = [ 'i.', 'ii.', 'iii.' ],columns = ['Names'])
print(df)

输出:


     Names
i.    Tom
ii.   Mark
iii.  Tony

我们可以看到列表 index 中的值已经替换了默认的 Pandas 索引。我们可以将任何值放入 index 并相应地生成结果。

在 Python 中使用 zip() 将两个列表压缩到单个 DataFrame 中

zip() 函数通过将具有相同索引的列表的值组合在一起,将两个不同列表的值合并为一个。在我们创建 DataFrame 之前,让我们先看看 zip() 是如何工作的。

示例代码:

# python 3.x
a = ['1', '2', '3']
b = ['4', '5', '6']
c = zip(a,b)
list1 = list(c)
print(list1)

输出:

[('1', '4'), ('2', '5'), ('3', '6')]

我们可以看到 zip() 函数帮助我们将列表 ab 与分组的相似索引项组合在一起。我们将列表 ab 的压缩状态存储到 c,然后创建 list1,将压缩列表 c 存储到其中。在以下示例中,我们将使用 zip() 创建一个 Pandas DataFrame。

我们将创建两个不同的列表,name_listheight_list,并分别存储一些名称和高度。然后我们使用 zip(name_list, height_list) 压缩 name_listheight_list 以创建一个 Pandas DataFrame。

请注意,我们还可以通过简单地放置另一个属性 index = [ 'index1', 'index2', 'index3' ] 索引我们的数据,其中索引列表中的项目可以是任何内容。

示例代码:

# python 3.x
import pandas as pd
name_list = [ 'Tom', 'Mark', 'Tony' ]
height_list = [ '150', '151', '152' ]
df = pd.DataFrame((zip(name_list, height_list)), columns = ['Name', 'Height'])
print(df)

输出:

    Name    Height
0   Tom     150
1   Mark    151
2   Tony    152

我们可以看到,形成的 DataFrame 由 name_listheight_list 的值按正确顺序组成。

我们也可以使用这种技术来压缩两个以上的列表。

在 Python 中将多维列表转换为 Pandas DataFrame

我们甚至可以将多维列表转换为 Pandas DataFrame。我们可以为多维列表中的列表项设置列名。我们将用一个二维列表来演示这个方法。

要将多维列表转换为 Pandas DataFrame,我们需要先创建一个包含多个列表的列表。因此,我们将首先导入 Pandas,然后创建一个列表 info,我们将在三个单独的列表中存储三个不同个体的姓名和年龄。然后我们将调用 pd.DataFrame() 并将列表处理到其中,并为我们的数据指定两列标题,NameAge

示例代码:

# python 3.x
import pandas as pd
info = [ [ 'Tom', 18 ], [ 'Mark', 25 ], [ 'Tony', 68 ] ]
df = pd.DataFrame( info, columns = ['Name', 'Age'] )
print(df)

输出:

    Name    Age
0   Tom     18
1   Mark    25
2   Tony    68

我们有两列作为输出,名称和年龄按各自的顺序排列。我们可以向 info 中的各个列表添加其他值,并为它们指定列标题以在我们的 DataFrame 中获取更多列。

相关文章 - Python Pandas

相关文章 - Python List