pandas.DataFrame.to_dict # 数据框。to_dict ( orient='dict' , * , into=<class 'dict'> , index=True ) [来源] # 将 DataFrame 转换为字典。 可以使用参数自定义键值对的类型(见下文)。 参数: orient str {'dict', 'list', 'series', 'split', 'tight', 'records', 'index'}确定字典值的类型。 'dict' (默认):类似于 {column -> {index -> value}} 的字典 'list' : 像 {column -> [values]} 这样的字典 'series' : 像 {column -> Series(values)} 这样的字典 'split' : 像 {'index' -> [index], 'columns' -> [columns], 'data' -> [values]} 这样的字典 'tight' : 像 {'index' -> [index], 'columns' -> [columns], 'data' -> [values], 'index_names' -> [index.names], 'column_names' -> 这样的字典[列名]} 'records' :列表如 [{column -> value}, … , {column -> value}] 'index' : 像 {index -> {column -> value}} 这样的字典 版本 1.4.0 中的新增功能:orient “tight”作为参数的允许值 进入类,默认字典collections.abc.MutableMapping 子类用于返回值中的所有映射。可以是实际的类,也可以是所需映射类型的空实例。如果你想要一个collections.defaultdict,你必须对其进行初始化。 索引bool,默认 True是否 在返回的字典中包含索引项(如果orientFalse为“tight”,则包含 index_names 项)。仅 当东方为“分裂”或“紧”时才可能。 2.0.0 版本中的新增内容。 返回: dict、list 或 collections.abc.MutableMapping返回表示 DataFrame 的 collections.abc.MutableMapping 对象。生成的变换取决于方向 参数。 也可以看看 DataFrame.from_dict从字典创建一个 DataFrame。 DataFrame.to_json将 DataFrame 转换为 JSON 格式。 例子 >>> df = pd.DataFrame({'col1': [1, 2], ... 'col2': [0.5, 0.75]}, ... index=['row1', 'row2']) >>> df col1 col2 row1 1 0.50 row2 2 0.75 >>> df.to_dict() {'col1': {'row1': 1, 'row2': 2}, 'col2': {'row1': 0.5, 'row2': 0.75}} 您可以指定返回方向。 >>> df.to_dict('series') {'col1': row1 1 row2 2 Name: col1, dtype: int64, 'col2': row1 0.50 row2 0.75 Name: col2, dtype: float64} >>> df.to_dict('split') {'index': ['row1', 'row2'], 'columns': ['col1', 'col2'], 'data': [[1, 0.5], [2, 0.75]]} >>> df.to_dict('records') [{'col1': 1, 'col2': 0.5}, {'col1': 2, 'col2': 0.75}] >>> df.to_dict('index') {'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}} >>> df.to_dict('tight') {'index': ['row1', 'row2'], 'columns': ['col1', 'col2'], 'data': [[1, 0.5], [2, 0.75]], 'index_names': [None], 'column_names': [None]} 您还可以指定映射类型。 >>> from collections import OrderedDict, defaultdict >>> df.to_dict(into=OrderedDict) OrderedDict([('col1', OrderedDict([('row1', 1), ('row2', 2)])), ('col2', OrderedDict([('row1', 0.5), ('row2', 0.75)]))]) 如果你想要一个defaultdict,你需要初始化它: >>> dd = defaultdict(list) >>> df.to_dict('records', into=dd) [defaultdict(<class 'list'>, {'col1': 1, 'col2': 0.5}), defaultdict(<class 'list'>, {'col1': 2, 'col2': 0.75})]