pandas.DataFrame.from_dict #

类方法 DataFrame。from_dict ( data , orient = 'columns' , dtype = None , columns = None ) [来源] #

从类似数组的字典或字典构造 DataFrame。

按列或按允许 dtype 规范的索引从字典创建 DataFrame 对象。

参数
数据字典

形式为 {field : array-like} 或 {field : dict}。

orient {'columns', 'index', 'tight'}, 默认 'columns'

数据的“方向”。如果传递的字典的键应该是生成的 DataFrame 的列,则传递“columns”(默认)。否则,如果键应该是行,则传递“索引”。如果“紧”,则假设一个带有键 ['index'、'columns'、'data'、'index_names'、'column_names'] 的字典。

版本 1.4.0 中的新增功能:orient “tight”作为参数的允许值

dtype 数据类型,默认无

DataFrame 构造后强制使用的数据类型,否则进行推断。

列列表,默认无

时使用的列标签orient='index'。如果与orient='columns'或一起使用,则会引发 ValueError orient='tight'

返回
数据框

也可以看看

DataFrame.from_records

来自结构化 ndarray、元组或字典序列或 DataFrame 的 DataFrame。

DataFrame

使用构造函数创建 DataFrame 对象。

DataFrame.to_dict

将 DataFrame 转换为字典。

例子

默认情况下,字典的键成为 DataFrame 列:

>>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}
>>> pd.DataFrame.from_dict(data)
   col_1 col_2
0      3     a
1      2     b
2      1     c
3      0     d

指定orient='index'使用字典键作为行创建 DataFrame:

>>> data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}
>>> pd.DataFrame.from_dict(data, orient='index')
       0  1  2  3
row_1  3  2  1  0
row_2  a  b  c  d

当使用“索引”方向时,可以手动指定列名:

>>> pd.DataFrame.from_dict(data, orient='index',
...                        columns=['A', 'B', 'C', 'D'])
       A  B  C  D
row_1  3  2  1  0
row_2  a  b  c  d

指定orient='tight'使用“严格”格式创建 DataFrame:

>>> data = {'index': [('a', 'b'), ('a', 'c')],
...         'columns': [('x', 1), ('y', 2)],
...         'data': [[1, 3], [2, 4]],
...         'index_names': ['n1', 'n2'],
...         'column_names': ['z1', 'z2']}
>>> pd.DataFrame.from_dict(data, orient='tight')
z1     x  y
z2     1  2
n1 n2
a  b   1  3
   c   2  4