Pandy ma nice interface który ułatwia przechowywanie rzeczy jak Dataframes i Series w hdf5:Przechowywanie Pandy obiektów wraz z regularnych obiektów Pythona w hdf5
random_matrix = np.random.random_integers(0,10, m_size)
my_dataframe = pd.DataFrame(random_matrix)
store = pd.HDFStore('some_file.h5',complevel=9, complib='bzip2')
store['my_dataframe'] = my_dataframe
store.close()
Ale gdy próbuję zapisać kilka innych obiektów regularne Python w taki sam plik, narzeka:
my_dictionary = dict()
my_dictionary['a'] = 2 # <--- ERROR
my_dictionary['b'] = [2,3,4]
store['my_dictionary'] = my_dictionary
store.close()
z
TypeError: cannot properly create the storer for: [_TYPE_MAP] [group->/par
ameters (Group) u'',value-><type 'dict'>,table->None,append->False,kwargs-
>{}]
Jak mogę Stor regularne struktury danych Pythona w tym samym HDF5, gdzie przechowuję inne obiekty Pandy?
Dzięki! Przy okazji otrzymuję 'PerformanceWarnings' z niektórymi komendami' store'. Próbowałem wyłączyć je z: 'import ostrzeżenia; warnings.simplefilter (action = "ignore", category = PerformanceWarning) 'ale otrzymuję komunikat' Name 'PerformanceWarning' nie jest zdefiniowany. Czy wiesz, jak je ignorować? –
Właściwie powinieneś zwrócić na to uwagę. Zasadniczo mówią one, że przechowujesz typ danych, który PyTables zamierza "zalać"! Spróbuj zapisać jako tabelę (użyj '' append'' lub '' store.put ('df', df, table = True) '', które przechowuje w formacie '' Tabela '', lepsze radzenie sobie z takimi rzeczami jak '' nan'' niektórych dtypes (że format 'Storer'' dostarczy Ci PerfWarning. Zobacz http://pandas.pydata.org/pandas-docs/dev/io.html#table-format – Jeff
Jeśli naprawdę chcesz wycisz je, spróbuj: '' from pandas.io.pytables import PerformanceWarning'', ale zobacz mój komentarz powyżej .. To jest powód – Jeff