Tôi có một DataFrame trong Pandas:Không thể lưu DataFrame để HDF5 ("Thông điệp tiêu đề đối tượng là quá lớn")
In [7]: my_df
Out[7]:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 34 entries, 0 to 0
Columns: 2661 entries, airplane to zoo
dtypes: float64(2659), object(2)
Khi tôi cố gắng tiết kiệm này vào đĩa:
store = pd.HDFStore(p_full_h5)
store.append('my_df', my_df)
tôi get:
File "H5A.c", line 254, in H5Acreate2
unable to create attribute
File "H5A.c", line 503, in H5A_create
unable to create attribute in object header
File "H5Oattribute.c", line 347, in H5O_attr_create
unable to create new attribute in header
File "H5Omessage.c", line 224, in H5O_msg_append_real
unable to create new message
File "H5Omessage.c", line 1945, in H5O_msg_alloc
unable to allocate space for message
File "H5Oalloc.c", line 1142, in H5O_alloc
object header message is too large
End of HDF5 error back trace
Can't set attribute 'non_index_axes' in node:
/my_df(Group) u''.
Tại sao?
Lưu ý: Trong trường hợp vấn đề, các tên cột DataFrame rất đơn giản chuỗi nhỏ:
In[12]: max([len(x) for x in list(my_df.columns)])
Out{12]: 47
Đây là tất cả với Pandas 0.11 và phiên bản ổn định mới nhất của IPython, Python và HDF5.
vấn đề là chỉ mục của bạn. tất cả đều là 0? điều đó thật kỳ quặc. bạn có thể hiển thị mẫu khung của bạn không? – Jeff
nói chung bạn muốn có nhiều hàng hơn cột; hdf5 dựa trên hàng. thử lưu trữ việc chuyển đổi khung hình của bạn – Jeff