Construct DataFrame from dict of array-like or dicts.
Creates DataFrame object from dictionary by columns or by index allowing dtype specification.
ParametersdatadictOf the form {field : array-like} or {field : dict}.
orient{‘columns’, ‘index’, ‘tight’}, default ‘columns’The “orientation” of the data. If the keys of the passed dict should be the columns of the resulting DataFrame, pass ‘columns’ [default]. Otherwise if the keys should be rows, pass ‘index’. If ‘tight’, assume a dict with keys [‘index’, ‘columns’, ‘data’, ‘index_names’, ‘column_names’].
New in version 1.4.0: ‘tight’ as an allowed value for the orient
argument
Data type to force, otherwise infer.
columnslist, default NoneColumn labels to use when orient='index'
. Raises a ValueError if used with orient='columns'
or orient='tight'
.
Examples
By default the keys of the dict become the DataFrame columns:
>>> 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
Specify orient='index'
to create the DataFrame using dictionary keys as rows:
>>> 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
When using the ‘index’ orientation, the column names can be specified manually:
>>> 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
Specify orient='tight'
to create the DataFrame using a ‘tight’ format:
>>> 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