从Dict列表中创建一个Pandas数据框架

从Dict列表中创建一个Pandas数据框架

Pandas DataFrame是一个二维标记的数据结构,其列有可能是不同的类型。它通常是最常用的pandas对象。Pandas DataFrame可以通过多种方式使用Python创建。让我们来讨论如何从字典列表中创建一个Pandas DataFrame。

方法1:使用from_records将字典列表转换为pandas DataFrame

Pandas是DataFrame的from records()函数。它将结构化数据或记录变为DataFrame。它将结构化的ndarray、tuple或dict序列,或DataFrame转换为DataFrame对象。

import pandas as pd
   
# Initialise data to lists.
data = [{'Geeks': 'dataframe', 'For': 'using', 'geeks': 'list'},
        {'Geeks':10, 'For': 20, 'geeks': 30}]
 
df = pd.DataFrame.from_records(data,index=['1', '2'])
print(df)

输出:

       Geeks    For geeks
0  dataframe  using  list
1         10     20    30

方法2:使用pd.DataFrame.from_dict将字典列表转换为pandas DataFrame

Pandas中的DataFrame.from dict()方法。它从一个dict或数组类型的字典中建立DataFrame。通过使用字典的列或索引并允许Dtype声明,它构建了一个DataFrame对象。

import pandas as pd
   
# Initialise data to lists.
data = [{'Geeks': 'dataframe', 'For': 'using', 'geeks': 'list'},
        {'Geeks':10, 'For': 20, 'geeks': 30}]
 
df = pd.DataFrame.from_dict(data)
print(df)

输出:

       Geeks    For geeks
0  dataframe  using  list
1         10     20    30

方法3:使用pd.json_normalize将字典列表转换为pandas DataFrame

Pandas有一个很好的内置函数,叫做json_normalize(),可以将简单到中等程度的半结构化的嵌套JSON结构平铺到平面表格。

import pandas as pd
   
# Initialise data to lists.
data = [{'Geeks': 'dataframe', 'For': 'using', 'geeks': 'list'},
        {'Geeks':10, 'For': 20, 'geeks': 30}]
 
df=pd.json_normalize(data)
print(df)

输出:

       Geeks    For geeks
0  dataframe  using  list
1         10     20    30

方法4: 使用pd.DataFrame将一个字典列表转换为pandas DataFrame

示例 1:

我们知道,当从字典中创建一个数据框架时,键将是结果Dataframe中的列。当我们从字典列表中创建Dataframe时,匹配的键将是Dataframe的列,相应的值将是Dataframe的行。如果字典中没有匹配的值和列,那么NaN值将被插入到结果Dataframe中。

# Python code demonstrate how to create 
# Pandas DataFrame by lists of dicts without matching key-value pair
import pandas as pd
   
# Initialise data to lists.
data = [{'Geeks': 'dataframe', 'For': 'using', 'geeks': 'list', 'Portal': 10000},
        {'Geeks':10, 'For': 20, 'geeks': 30}]
   
# Creates DataFrame.
df = pd.DataFrame(data)
   
# Print the data
df

输出:

从Dict列表中创建一个Pandas数据框架

我们可以从上面的例子中得出结论,如果在字典列表中没有匹配的键值对,那么NaN值将被插入到该位置。

示例 2:

通过为索引和列明确提供用户定义的值来创建一个数据框架

import pandas as pd
 
# Initialise data to lists.
data = [{'Geeks': 'dataframe', 'For': 'using', 'geeks': 'list'},
        {'Geeks': 10, 'For': 20, 'geeks': 30}]
 
# With two column indices, values same
# as dictionary keys
df1 = pd.DataFrame(data, index=['ind1', 'ind2'],
                   columns=['Geeks', 'For'])
 
# With two column indices with
# one index with other name
df2 = pd.DataFrame(data, index=['indx', 'indy'])
 
# print for first data frame
print(df1, "\n")
 
# Print for second DataFrame.
print(df2)

输出:

从Dict列表中创建一个Pandas数据框架

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程