pandas.DataFrame.from_dict#
- classmethod DataFrame.from_dict(data, orient='columns', dtype=None, columns=None)[源代码][源代码]#
从数组类或字典的字典构造 DataFrame。
通过列或索引从字典创建 DataFrame 对象,允许指定 dtype。
- 参数:
- 数据dict
形式为 {field : 类数组} 或 {field : 字典}。
- orient{‘columns’, ‘index’, ‘tight’}, 默认 ‘columns’
数据的“方向”。如果传递的字典的键应该是生成的 DataFrame 的列,则传递 ‘columns’(默认)。否则,如果键应该是行,则传递 ‘index’。如果传递 ‘tight’,则假定一个键为 [‘index’, ‘columns’, ‘data’, ‘index_names’, ‘column_names’] 的字典。
Added in version 1.4.0: ‘tight’ 作为
orient
参数的允许值- dtypedtype,默认 None
在 DataFrame 构造后强制使用的数据类型,否则推断。
- 列列表,默认无
当
orient='index'
时使用的列标签。如果与orient='columns'
或orient='tight'
一起使用,则会引发 ValueError。
- 返回:
- DataFrame
参见
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
当使用 ‘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'
以使用 ‘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