pandas to_dict函数的用法介绍

1、to_dict 在pandas.core.frame.DataFrame模块中

可以选择六种的转换类型,分别对应于参数 ‘dict’, ‘list’, ‘series’, ‘split’, ‘records’, ‘index’,下面逐一介绍每种的用法

 

>>> help(pandas.core.frame.DataFrame.to_dict)
Help on function to_dict in module pandas.core.frame:

to_dict(self, orient='dict', into=)
    Convert the DataFrame to a dictionary.

    The type of the key-value pairs can be customized with the parameters
    (see below).

    Parameters
    ----------
    orient : str {'dict', 'list', 'series', 'split', 'records', 'index'}
        Determines the type of the values of the dictionary.

        - 'dict' (default) : dict like {column -> {index -> value}}
        - 'list' : dict like {column -> [values]}
        - 'series' : dict like {column -> Series(values)}
        - 'split' : dict like
          {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}
        - 'records' : list like
          [{column -> value}, ... , {column -> value}]
        - 'index' : dict like {index -> {column -> value}}

        Abbreviations are allowed. `s` indicates `series` and `sp`
        indicates `split`.

    into : class, default dict
        The collections.Mapping subclass used for all Mappings
        in the return value.  Can be the actual class or an empty
        instance of the mapping type you want.  If you want a
        collections.defaultdict, you must pass it initialized.

        .. versionadded:: 0.21.0

    Returns
    -------
    result : collections.Mapping like {column -> {index -> value}}

    See Also
    --------
    DataFrame.from_dict: create a DataFrame from a dictionary
    DataFrame.to_json: convert a DataFrame to JSON format

2、举例说明   

Examples
    --------
    >>> df = pd.DataFrame({'col1': [1, 2],
    ...                    'col2': [0.5, 0.75]},
    ...                   index=['a', 'b'])
    >>> df
       col1  col2
    a     1   0.50
    b     2   0.75
    >>> df.to_dict()
    {'col1': {'a': 1, 'b': 2}, 'col2': {'a': 0.5, 'b': 0.75}}

    You can specify the return orientation.

1)、关键字参数orient=’series’    

>>> df.to_dict('series')
    {'col1': a    1
             b    2
             Name: col1, dtype: int64,
     'col2': a    0.50
             b    0.75
             Name: col2, dtype: float64}

2)、关键字参数orient=’split    

    >>> df.to_dict('split')
    {'index': ['a', 'b'], 'columns': ['col1', 'col2'],
     'data': [[1.0, 0.5], [2.0, 0.75]]}

3)、关键字参数orient=’records    

    >>> df.to_dict('records')
    [{'col1': 1.0, 'col2': 0.5}, {'col1': 2.0, 'col2': 0.75}]

4)、关键字参数orient=’index    

    >>> df.to_dict('index')
    {'a': {'col1': 1.0, 'col2': 0.5}, 'b': {'col1': 2.0, 'col2': 0.75}}

5)、关键字参数orient=’dict  

df_dict=df.to_dict('dict')
df_dict

{'col1': {'a': 1, 'b': 2}, 'col2': {'a': 0.5, 'b': 0.75}}

6)、关键字参数orient=’list  

df_list=df.to_dict('list')
df_list

{'col1': [1, 2], 'col2': [0.5, 0.75]}

如果调用可以用 df_list['col1'][1]

 

    You can also specify the mapping type.

    >>> from collections import OrderedDict, defaultdict
    >>> df.to_dict(into=OrderedDict)
    OrderedDict([('col1', OrderedDict([('a', 1), ('b', 2)])),
                 ('col2', OrderedDict([('a', 0.5), ('b', 0.75)]))])

    If you want a `defaultdict`, you need to initialize it:

    >>> dd = defaultdict(list)
    >>> df.to_dict('records', into=dd)
    [defaultdict(, {'col1': 1.0, 'col2': 0.5}),
     defaultdict(, {'col1': 2.0, 'col2': 0.75})]

 

pandas to_dict 的用法 https://blog.csdn.net/m0_37804518/article/details/78444110 

 

 

你可能感兴趣的:(python3,python)