Dołączanie kolumny do ramki pliku HDF w pandach
Pracuję z dużym zestawem danych w formacie CSV. Próbuję przetworzyć dane kolumna po kolumnie, a następnie dołączyć dane do ramki w pliku HDF. Wszystko to odbywa się za pomocą Pand. Moja motywacja jest taka, że chociaż cały zestaw danych jest znacznie większy niż moja pamięć fizyczna, rozmiar kolumny jest zarządzalny. Na późniejszym etapie będę przeprowadzał regresję logistyczną, ładując kolumny z powrotem do pamięci i operując nimi.
Jestem w stanie utworzyć nowy plik HDF i utworzyć nową ramkę z pierwszą kolumną:
hdf_file = pandas.HDFStore('train_data.hdf')
feature_column = pandas.read_csv('data.csv', usecols=[0])
hdf_file.append('features', feature_column)
Ale po tym otrzymuję ValueError podczas próby dołączenia nowej kolumny do ramki:
feature_column = pandas.read_csv('data.csv', usecols=[1])
hdf_file.append('features', feature_column)
Ślad stosu i komunikat o błędzie:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pandas/io/pytables.py", line 658, in append self._write_to_group(key, value, table=True, append=True, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/pytables.py", line 923, in _write_to_group s.write(obj = value, append=append, complib=complib, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/pytables.py", line 2985, in write **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/pytables.py", line 2675, in create_axes raise ValueError("cannot match existing table structure for [%s] on appending data" % items)
ValueError: cannot match existing table structure for [srch_id] on appending data
Jestem nowy w pracy z dużymi zestawami danych i ograniczoną pamięcią, więc jestem otwarty na propozycje alternatywnych sposobów pracy z tymi danymi.