gpt4 book ai didi

python - DataFrame.to_dict() 并不总是可逆的

转载 作者:太空宇宙 更新时间:2023-11-04 05:55:23 25 4
gpt4 key购买 nike

我的主要观点是:

assert_frame_equal(DataFrame.from_dict(df.to_dict()), df)

在某些情况下会失败。我很乐意提供一个可重现的示例,但是(i)数据太大而无法发布,并且(ii)为此我需要提供一个序列化的 DataFrame(这正是失败的地方......)

这是一个已知问题吗?我做错了什么吗?

最佳答案

失败的一个原因是 df.to_dict() 创建了一个 Python 字典。不保证字典的键以任何特定顺序排列。

DataFrame 的列名称映射到字典键,并且根据 this question ,在测试 DataFrame 相等性时,列的顺序很重要。

这个事实很容易验证:

>>> df = pd.DataFrame(columns=['a', 'c', 'b'])
>>> pd.util.testing.assert_frame_equal(df, pd.DataFrame(df.to_dict()))
# AssertionError

有很多 keyword arguments您可以传入测试以指定要检查或忽略的条件,包括 check_names=False(默认情况下为 True)。

关于python - DataFrame.to_dict() 并不总是可逆的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28106796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com