Pandalar için oldukça yeni, sorularım önemsiz ise lütfen özür dileriz.Değişken uzunluktaki listeleri pandalarda HDF5'e kaydetme
Bir pandalar veri çerçevesini, sütun olarak değişken uzunluklu listelerin bir listesini içeren hdf5'e kaydetmek istiyorum. Amacım bu veri çerçevesine daha sonra parçalara yazmak ve okumaktır. Bu sadece veri çerçevesini tablo formatında sakladığımda mümkün görünüyor. ben tablo formatında verilerim çerçeveyi kaydetmek Ancak eğer aşağıdaki hatayı alıyorum: Veri çerçevesi kaydederseniz
import pandas as pd
import numpy as np
df = pd.DataFrame()
df['ID'] = [el for el in np.arange(100)]
df['pdf'] = [np.arange(i) for i in df['ID']]
df.to_hdf('test_format_table.h5','df', format='table')
: Ben sorunu yeniden oluşturmak için minimal bir örneğini göstermektedir aşağıdaki yılında
TypeError: Cannot serialize the column [pdf] because its data contents are [mixed] object dtype
format = 'fixed' ile her şey çalışacaktır, ancak tablo formatında kaydetmek istiyorum.
Bu sorunu kolayca gidermek mümkün mü?
Yardımlarınız için çok teşekkür ederim.
Markus
Cevabınız için çok teşekkür ederim. Tamamen haklısınız: Bu sorunu tek bir şekilde çözüyorum. Bunu yapmamın sebebi depolama alanıdır, bu yüzden herhangi bir dolgu yapmamamın nedeni budur. Çözümü denedim ve 1.46 Gb boyutunda bir dosya üretirken, benim "çözümüm" sadece 401,5 MB gerektiriyor. Bu örnek için kullanıyorum df ['ID'] = [el için np.arange (10000)]. Bu, benim dosyam için bir dosya çok büyük olduğundan, gerçekten dolgudan kaçınmak istiyorum. Bunun nasıl yapılabileceği hakkında bir fikrin var mı? – Markus