2012-07-26 13 views
5

Pobieram niektóre dane internetowe, parsuję je i przechowuję dane wyjściowe jako Pandas DataFrame w pliku HDF5. Tuż przed wpisaniem do pliku H5 pliku DataFrame dodaję własny ciąg opisu, aby opisać niektóre metadane dotyczące miejsca, z którego pochodzą dane i czy coś poszło nie tak podczas analizowania.Dodawanie mojego własnego atrybutu opisu do Pandas DataFrame

In [1]: my_data_frame.desc = "Some string about the data" 

In [2]: my_data_frame.desc 

Out[1]: "Some string about the data" 

In [3]: print type(my_data_frame) 
<class 'pandas.core.frame.DataFrame'> 

Jednak po załadowaniu tych samych danych z pandas.io.pytables.HDFStore() moja dodany desc atrybut brakuje i pojawia się błąd: AttributeError: 'DataFrame' object has no attribute 'desc' jakby nigdy nie dodało ten nowy atrybut.

Jak mogę zachować opisy metadanych jako dodatkowy atrybut obiektu DataFrame? (Czy istnieje jakiś istniejący, rozpoznawany atrybut obiektu DataFrame, który mogę przejąć dla moich celów związanych z metadanymi?)

Odpowiedz

1

Dodawanie metadanych DataFrame lub metadanych na kolumnę jest uwzględnione w mapie drogowej, ale nie zostało jeszcze zaimplementowane. Jestem otwarty na pomysły dotyczące tego, jak powinien wyglądać interfejs API.

+0

Czy wiesz, czy można po prostu zastąpić atrybut '__doc__', czy jest on powiązany z ramką DataFrame? Stwierdzam, że gdy próbuję go zastąpić, a następnie załadować obiekt z H5, docstring jest po prostu "Brak". Nie zachowuje mojego nowego docstringu, ale także nie powraca do standardowego docstringu. – ely

+0

Co więcej, prostym rozwiązaniem byłoby dla mnie napisanie słownika do pliku H5, z kluczem "data" dla DataFrame i kluczem "opis" dla mojego opisu ciągu. Ale to daje kluczowy błąd. Czy jest to błąd w H5py/PyTables? Na pewno powinieneś być w stanie przechowywać nieprostokątne tablice danych do H5? – ely

+0

Przepraszam, w ponownym przeczytaniu, które może wydawać się krytyczne. Nie miałem na myśli ciebie (ani Pandy), ale raczej HDF5. Zakładam, że może on pomieścić słownik, ale być może używany PyTables HDFStore jest unikalny dla obiektu pandy? – ely

Powiązane problemy