Наконец-то я понял, как использовать _metadata из DataFrame, все работает, за исключением того, что я не могу сохранить его, например, в 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 говорит, что у него это сработало, но я новичок в этот сайт (и панды) и не может публиковать сообщения в этой теме или спрашивать его напрямую.
copy()
не копирует метаданные, может быть, это изменилось, как ни странно, хотя я не вижу вашей ошибки, я получаю вывод'badmetaval'
, какую версию python, numpy и pandas вы используете? Я использую python 3.3.5 64-бит, pandas 0.15.2 и numpy 1.9.1. - person EdChum   schedule 20.01.2015