我终于弄清楚如何使用 DataFrame 中的 _metadata ,一切正常,除了我无法将其持久化,例如 hdf5 或 json。我知道它有效,因为我复制框架,而 _metadata 属性复制到“非 _metadata”属性则不然。
example
df = pandas.DataFrame #make up a frame to your liking
pandas.DataFrame._metadata = ["testmeta"]
df.testmeta = "testmetaval"
df.badmeta = "badmetaval"
newframe = df.copy()
newframe.testmeta -->outputs "testmetaval"
newframe.badmeta ---> raises attribute error
#json test
df.to_json(Path)
revivedjsonframe = pandas.io.json.read_json(Path)
revivedjsonframe.testmeta ---->raises Attribute Error
#hdf5 test
revivedhdf5frame.testmeta ---> returns None
这个人https://stackoverflow.com/a/25715719/4473236 https://stackoverflow.com/a/25715719/4473236说这对他有用,但我是这个网站(和熊猫)的新手,无法发布到该线程或直接询问他。
_metadata
以下划线开头,这意味着它不是公共 API 的一部分。它不适用于用户代码——我们可能会在没有警告的情况下在任何未来版本的 pandas 中破坏它。
我强烈建议不要使用这个“功能”。目前,使用 DataFrame 持久化元数据的最佳选择可能是编写自己的包装类并自己处理持久性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)