编程语言
首页 > 编程语言> > python – Pandas _Dataadata DataFrame持久性错误

python – Pandas _Dataadata DataFrame持久性错误

作者:互联网

我终于想出了如何使用DataFrame中的_metadata,一切正常,除了我无法坚持它,如hdf5或json.我知道它有效,因为我复制框架和_metadata属性复制“非_metadata”属性不.

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说它对他有用,但我是这个网站(和熊猫)的新手,不能发帖到那个帖子或直接问他.

解决方法:

_metadata以下划线开头,这意味着它不是公共API的一部分.它不适用于用户代码 – 我们可能会在没有警告的任何未来版本的pandas中破坏它.

我强烈建议不要使用这个“功能”.目前,使用DataFrame保存元数据的最佳选择可能是编写自己的包装类并自己处理持久性.

标签:python,pandas,metadata,pytables
来源: https://codeday.me/bug/20190624/1275861.html