pandas.DataFrame.from_dict#
- classmethod DataFrame.from_dict(data, orient='columns', dtype=None, columns=None)[源代码]#
从类似数组的字典或字典构造DataFrame。
按列或按索引从字典创建DataFrame对象,允许指定数据类型。
- 参数
- dataDICT
格式为{field:arraylike}或{field:dict}。
- orient{‘列’,‘索引’,‘紧凑’},默认‘列’
数据的“定向”。如果传递的dict的键应该是结果DataFrame的列,则传递‘Columns’(默认)。否则,如果键应该是行,则传递‘index’。如果“收紧”,则假定为带有键的DICT ['index', 'columns', 'data', 'index_names', 'column_names'] 。
1.4.0 新版功能: 属性的允许值为“Tack”
orient
论据- dtype数据类型,默认为无
要强制的数据类型,否则进行推断。
- columns列表,默认为无
在下列情况下使用的列标签
orient='index'
。与一起使用时引发ValueErrororient='columns'
或orient='tight'
。
- 退货
- DataFrame
参见
DataFrame.from_records
来自结构化ndarray、元组或字典序列或DataFrame的DataFrame。
DataFrame
使用构造函数创建DataFrame对象。
DataFrame.to_dict
将DataFrame转换为词典。
示例
默认情况下,DICT的键成为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
当使用‘index’方向时,可以手动指定列名:
>>> 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