Python – 将列表的dict转换为Pandas数据框
在这篇文章中,我们将讨论如何将一个列表字典转换为一个pandas数据框架。
方法1:使用DataFrame.from_dict()
我们将使用from_dict方法。这个方法将从数组类的dict或dict中构造DataFrame。
语法 :
pandas.DataFrame.from_dict(dictionary)
其中dictionary是输入字典
示例:程序将学生字典作为输入并显示科目数据,然后存储在pandas数据框中。
# import pandas module
import pandas as pd
# create a dictionary for three subjects with list
# of three subjects for each student
data = {
'manoj': ["java", "php", "python"],
'tripura': ["bigdata", "c/cpp", "R"],
'uma': ["js/css/html", "ruby", "IOT"]
}
# convert to dataframe using from_dict method
pd.DataFrame.from_dict(data)
输出 :
假设我们想获得以行名为键的数据框架,那么我们必须使用定向参数
语法 :
pd.DataFrame.from_dict(data,orient='index')
示例:
# import pandas module
import pandas as pd
# create a dictionary for three subjects with list
# of three subjects for each student
data = {
'manoj': ["java", "php", "python"],
'tripura': ["bigdata", "c/cpp", "R"],
'uma': ["js/css/html", "ruby", "IOT"]
}
# convert to dataframe using from_dict method
# with orient
pd.DataFrame.from_dict(data, orient='index')
输出 :
方法2:使用pd.Series()
在这里,我们通过使用 items() 方法在数据框架方法中使用系列数据结构。
语法:
pd.DataFrame({ key: pd.Series(val) for key, val in dictionary.items() })
其中,
- dictionary.items() 是从 dictionary 中获取项目的方法。
- pd.Series(val)将从items()方法中获得一系列的值。
示例:
# import pandas module
import pandas as pd
# create a dictionary for three subjects with list
# of three subjects for each student
data = {
'manoj': ["java", "php", "python"],
'tripura': ["bigdata", "c/cpp", "R"],
'uma': ["js/css/html", "ruby", "IOT"]
}
# convert to dataframe using series with items() method
pd.DataFrame({key: pd.Series(val) for key, val in data.items()})
输出 :