gpt4 book ai didi

string - 执行 pandas to_hdf 时出现错误消息 "Exception: cannot find the correct atom type"

转载 作者:行者123 更新时间:2023-12-02 09:57:36 27 4
gpt4 key购买 nike

我想将数据帧 df 保存到 .h5 文件 MainDataFile.h5 :

df.to_hdf ("c:/Temp/MainDataFile.h5", "MainData", mode = "w", format = "table", data_columns=['_FirstDayOfPeriod','Category','ChannelId'])

并出现以下错误:

*** Exception: cannot find the correct atom type -> > [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: Cannot serialize the column [Libellé_Article] because its data contents are [mixed] object dtype

最佳答案

这将在 py2 中工作。对于 py3,这应该无需编码步骤即可工作。这实际上是一个“混合”列,因为它包含字符串和 unicode。

In [24]: from pandas.compat import u

In [25]: df = DataFrame({'unicode':[u('\u03c3')] * 5 + list('abc') })

In [26]: df
Out[26]:
unicode
0 ?
1 ?
2 ?
3 ?
4 ?
5 a
6 b
7 c

In [27]: df['unicode'] = df.unicode.str.encode('utf-8')

In [28]: df.to_hdf('test.h5','df',mode='w',data_columns=['unicode'],format='table')

In [29]: pd.read_hdf('test.h5','df')
Out[29]:
unicode
0 ?
1 ?
2 ?
3 ?
4 ?
5 a
6 b
7 c

关于string - 执行 pandas to_hdf 时出现错误消息 "Exception: cannot find the correct atom type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30101088/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com