我想将数据帧df保存到.h5文件MainDataFile.h5:
df.to_hdf ("c:/Temp/MainDataFile.h5", "MainData", mode = "w", format = "table", data_columns=['_FirstDayOfPeriod','Category','ChannelId'])
并收到以下错误:
***异常:找不到正确的原子类型 - > > [dtype-> object,items-> Index(['Libellé_Article','Libellé_segment'],dtype ='object')]
现在,如果我从df(这是一个字符串列)中删除列'Libellé_Article',我就不会再收到错误消息了。
这个专栏可能有什么问题?我怀疑其中有一个特殊的,禁止的角色,但到目前为止无法找到它。
更新1
根据Jeff的评论,我试图对“Libellé_Article”栏目进行编码:
df['Libellé_Article'] = df['Libellé_Article'].str.encode('utf-8')
该列现在显示如下:
df['Libellé_Article']
0 b'PAPETERIE'
2 b'NR CONTRIBUTION DEEE'
4 b'NON UTILISE 103'
7 b"L'ENFANT SOUS TERREUR/MILLER A."
10 b'ENERGIE VITALE ET AUTOGUERISON/CHIA M.'
12 b'ENERGIE COSMIQUE CETTE PUISSANCE QUI EST EN ...
13 b'ENERGIE COSMIQUE CETTE PUISSANCE QUI EST EN ...
18 b"COMMENT ATTIRER L'ARGENT/MURPHY J."
19 b"COMMENT ATTIRER L'ARGENT/MURPHY J."
当我执行命令to_hdf时,我得到:
*** TypeError:无法序列化[Libellé_Article]列,因为 其数据内容为[mixed] object dtype
答案 0 :(得分:1)
这将在py2中起作用。对于py3,这应该不受编码步骤的影响。 这实际上是一个“混合”列,因为它包含字符串和unicode。
String