python-3.x - Pandas DataFrame to_dict 和 from_dict 会丢失列顺序吗?
问题描述
当我调用to_dict
它时,它会返回一个普通的字典。但是,普通字典不保留顺序。字典的键是列。因此,如果调用to_dict
了一个数据框,然后又调用from_dict
了重建该数据框,这是否意味着我可能会丢失列顺序?
解决方案
在 python 3 中,字典保留了插入键的顺序,因此您的断言不正确:
In [7]: pd.DataFrame.from_dict(pd.DataFrame({'c': [5], 'a': [2], 'b': [1]}).to_dict())
Out[7]:
c a b
0 5 2 1
此外,pandas.DataFrame.to_dict
文档还为数据结构(例如 OrderedDict)提供了许多附加选项:
>>> 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)]))])
推荐阅读
- python - 如何在 Python 中的 if 语句中抛出带有消息的 TypeError?
- python - django admin.autodiscover() 在 urls 文件上导入顺序
- php - 如何将表单提交到不同的服务器并从该服务器返回到同一页面 php
- angular - 如何使 ngb-timepicker 在 col-nn 中居中
- c++ - 将方法转换为调用该方法的成员仿函数对象会导致崩溃
- .net - “EnsureDatabase”第一次失败:“在服务器上找不到数据库,设置中有连接字符串”
- java - 程序没有运行
- multiprocessing - 单个 GPU 上的 Torch 多处理非常慢
- javascript - 类不是由 jQuery 添加的
- java - 为什么 HtmlUnit 代码与 Chrome 代码不匹配?