如何在 python 中将列表转换为 dataframe


通常,您可能希望在 Python 中将 List 转换为 DataFrame。

幸运的是,使用pandas.DataFrame函数可以轻松做到这一点,该函数使用以下语法:

pandas.DataFrame(数据=无,索引=无,列=无,…)

金子:

  • data:要转换为DataFrame的数据
  • index:用于生成的 DataFrame 的索引
  • columns:用于生成的 DataFrame 的列标签

本教程提供了该功能实际使用的几个示例。

示例 1:将列表转换为 DataFrame

以下代码展示了如何将列表转换为 pandas DataFrame:

 import pandas as pd

#create list that contains points scored by 10 basketball players
data = [4, 14, 17, 22, 26, 29, 33, 35, 35, 38]

#convert list to DataFrame
df = pd. DataFrame (data, columns=[' points '])

#view resulting DataFrame
print (df)

       points
0 4
1 14
2 17
3 22
4 26
5 29
6 33
7 35

示例 2:将多个列表转换为 DataFrame

以下代码展示了如何将多个列表转换为 pandas DataFrame:

 import pandas as pd

#define lists
points = [4, 14, 17, 22, 26, 29, 33, 35, 35, 38]
rebounds = [1, 4, 4, 5, 8, 7, 5, 6, 9, 11]

#convert lists into a single list
data = []
data. append (dots)
data. append (rebounds)

#view new list
data

[[4, 14, 17, 22, 26, 29, 33, 35, 35, 38], [1, 4, 4, 5, 8, 7, 5, 6, 9, 11]]

#convert list into DataFrame
df = pd. DataFrame (data). transpose ()
df. columns =[' points ', ' rebounds ']

#view resulting DataFrame
df

       rebound points
0 4 1
1 14 4
2 17 4
3 22 5
4 26 8
5 29 7
6 33 5
7 35 6
8 35 9
9 38 11

示例 3:将列表列表转换为 DataFrame

以下代码显示了如何将列表列表转换为 pandas DataFrame:

 import pandas as pd

#define list of lists
data = [[4, 1], [14, 4], [17, 4], [22, 5], [26, 8],
        [29, 7], [33, 5], [35, 6], [35, 9], [38,11]]

#convert list into DataFrame
df = pd. DataFrame (data, columns=[' points ', ' rebounds '])

#view resulting DataFrame
df

       rebound points
0 4 1
1 14 4
2 17 4
3 22 5
4 26 8
5 29 7
6 33 5
7 35 6
8 35 9
9 38 11

您可以使用以下代码快速检查生成的 DataFrame 中的行数和列数:

 #display number of rows and columns in DataFrame
df. shape

(10, 2)

我们可以看到生成的 DataFrame 有10行和2列。

我们可以使用以下代码来检索结果 DataFrame 中的列名称:

 #display column names of DataFrame
list(df)

['points', 'rebounds']

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

如何将 DataFrame 转换为 Pandas 中的列表
如何在 Pandas 中将字典转换为 DataFrame
如何在 Pandas 中将字符串转换为浮点数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注