在 Python 中将列表转换为 Pandas DataFrame
- 在 Python 中将列表转换为 Pandas DataFrame
- 在 Python 中将列表存储在 Pandas DataFrame 的列中
- 在 Python 中将列表转换为带索引的 DataFrame
-
在 Python 中使用
zip()
将两个列表压缩到单个 DataFrame 中 - 在 Python 中将多维列表转换为 Pandas DataFrame
本文将介绍将列表中的项转换为 Pandas DataFrame 的方法。
在 Python 中将列表转换为 Pandas DataFrame
DataFrame,一般是一种二维标记的数据结构。Pandas 是一个开源 Python 包,对数据科学非常有用。
在这里,我们将首先导入 pandas 包。我们将在这个特定程序中将 pandas 包定义为 pd
。然后我们将创建一个列表 my_list
来存储列表值 Tom
、Mark
和 Tony
,它们只是随机名称。然后我们将 pd.DataFrame(my_list)
分配给变量 df
。DataFrame(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
并用 i
、ii
和 iii
填充它。我们可以使用列表作为 pd.DataFrame()
中的第二个参数。第一个和第三个参数是 my_list
和 columns =['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()
函数帮助我们将列表 a
和 b
与分组的相似索引项组合在一起。我们将列表 a
和 b
的压缩状态存储到 c
,然后创建 list1
,将压缩列表 c
存储到其中。在以下示例中,我们将使用 zip()
创建一个 Pandas DataFrame。
我们将创建两个不同的列表,name_list
和 height_list
,并分别存储一些名称和高度。然后我们使用 zip(name_list, height_list)
压缩 name_list
和 height_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_list
和 height_list
的值按正确顺序组成。
我们也可以使用这种技术来压缩两个以上的列表。
在 Python 中将多维列表转换为 Pandas DataFrame
我们甚至可以将多维列表转换为 Pandas DataFrame。我们可以为多维列表中的列表项设置列名。我们将用一个二维列表来演示这个方法。
要将多维列表转换为 Pandas DataFrame,我们需要先创建一个包含多个列表的列表。因此,我们将首先导入 Pandas,然后创建一个列表 info
,我们将在三个单独的列表中存储三个不同个体的姓名和年龄。然后我们将调用 pd.DataFrame()
并将列表处理到其中,并为我们的数据指定两列标题,Name
和 Age
。
示例代码:
# 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 中获取更多列。