数据框架在python中主要用于分析表格数据。在这篇文章中,我们将讨论如何在python中把字典列表转换为数据框架。
使用pandas将字典列表转换成数据框架:DataFrame()
数据框架对象是在pandas模块中定义的。为了从一个给定的字典列表中创建一个数据框架,我们可以使用 DataFrame() 方法。DataFrame() 方法对象接受一个字典列表作为输入参数,并返回一个由字典创建的数据框架。这里,数据框架的列名由python 字典中的键组成。每个字典的值被转换为数据框架的行。你可以使用 pandas.DataFrame() 方法从一个字典的列表中创建一个数据框架,如下所示。
import pandas as pd
listOfDict = [{'Name': 'Aditya', 'Roll': 1, 'Language': 'Python'}, {'Name': 'Sam', 'Roll': 2, 'Language': 'Java'}, {'Name': 'Chris', 'Roll': 3, 'Language': 'C++'}, {'Name': 'Joel', 'Roll': 4, 'Language': 'TypeScript'}]
print("THe list of dictionaries is:")
print(listOfDict)
df = pd.DataFrame(listOfDict)
print("The dataframe is:")
print(df)
输出。
THe list of dictionaries is:
[{'Name': 'Aditya', 'Roll': 1, 'Language': 'Python'}, {'Name': 'Sam', 'Roll': 2, 'Language': 'Java'}, {'Name': 'Chris', 'Roll': 3, 'Language': 'C++'}, {'Name': 'Joel', 'Roll': 4, 'Language': 'TypeScript'}]
The dataframe is:
Name Roll Language
0 Aditya 1 Python
1 Sam 2 Java
2 Chris 3 C++
3 Joel 4 TypeScript
在数据框架中,为字典列表中的每个键创建一个列。如果一个字典没有任何特定的键,那么在代表该字典的行中,与特定键相对应的列的值是NaN 。
在Python中使用pandas.dataframe.from_dict()方法将字典列表转换成数据框架
我们可以不使用DataFrame() 方法,而是使用from_dict() 方法在 Python 中将字典列表转换为数据框架。from_dict() 方法接收一个字典列表作为其输入参数,并返回一个数据框架。同样,数据框架的列名由字典中的键组成。每个字典的值被转换为数据框架的行。你可以使用from_dict() 方法从一个字典的列表中创建一个数据框架,如下所示。
import pandas as pd
listOfDict = [{'Name': 'Aditya', 'Roll': 1, 'Language': 'Python'}, {'Name': 'Sam', 'Roll': 2, 'Language': 'Java'}, {'Name': 'Chris', 'Roll': 3, 'Language': 'C++'}, {'Name': 'Joel', 'Roll': 4, 'Language': 'TypeScript'}]
print("THe list of dictionaries is:")
print(listOfDict)
df = pd.DataFrame.from_dict(listOfDict)
print("The dataframe is:")
print(df)
输出。
THe list of dictionaries is:
[{'Name': 'Aditya', 'Roll': 1, 'Language': 'Python'}, {'Name': 'Sam', 'Roll': 2, 'Language': 'Java'}, {'Name': 'Chris', 'Roll': 3, 'Language': 'C++'}, {'Name': 'Joel', 'Roll': 4, 'Language': 'TypeScript'}]
The dataframe is:
Name Roll Language
0 Aditya 1 Python
1 Sam 2 Java
2 Chris 3 C++
3 Joel 4 TypeScript
你可以观察到由from_dict()方法生成的数据框架与由DataFrame()方法生成的数据框架类似。
使用pandas.dataframe.from_records(Data)将字典列表转换成数据框架
要从Python中的字典列表中创建一个数据框架,我们也可以使用from_records() 方法。from_records() 方法将一个字典列表作为其输入参数,并返回一个数据框架。同样,数据框架的列名由字典中的键组成。每个字典的值被转换为数据框架的行。你可以使用from_records() 方法从一个字典的列表中创建一个数据框架,如下所示。
import pandas as pd
listOfDict = [{'Name': 'Aditya', 'Roll': 1, 'Language': 'Python'}, {'Name': 'Sam', 'Roll': 2, 'Language': 'Java'}, {'Name': 'Chris', 'Roll': 3, 'Language': 'C++'}, {'Name': 'Joel', 'Roll': 4, 'Language': 'TypeScript'}]
print("THe list of dictionaries is:")
print(listOfDict)
df = pd.DataFrame.from_records(listOfDict)
print("The dataframe is:")
print(df)
输出。
THe list of dictionaries is:
[{'Name': 'Aditya', 'Roll': 1, 'Language': 'Python'}, {'Name': 'Sam', 'Roll': 2, 'Language': 'Java'}, {'Name': 'Chris', 'Roll': 3, 'Language': 'C++'}, {'Name': 'Joel', 'Roll': 4, 'Language': 'TypeScript'}]
The dataframe is:
Name Roll Language
0 Aditya 1 Python
1 Sam 2 Java
2 Chris 3 C++
3 Joel 4 TypeScript
结论
在这篇文章中,我们讨论了三种在 python 中将字典列表转换为数据框架的方法。这三种方法在语义上是相似的,产生的结果也是一样的。