String str()和astype(str)之间的区别?
我想将数据帧df保存到.h5文件maindatfile.h5:String str()和astype(str)之间的区别?,string,python-3.x,pandas,hdf5,String,Python 3.x,Pandas,Hdf5,我想将数据帧df保存到.h5文件maindatfile.h5: df.to_hdf ("c:/Temp/MainDataFile.h5", "MainData", mode = "w", format = "table", data_columns=['_FirstDayOfPeriod','Category','ChannelId']) 并获取以下错误: ***异常:找不到正确的atom类型->[dtype->object,items->Index(['libelle\u Article',
df.to_hdf ("c:/Temp/MainDataFile.h5", "MainData", mode = "w", format = "table", data_columns=['_FirstDayOfPeriod','Category','ChannelId'])
并获取以下错误:
***异常:找不到正确的atom类型->[dtype->object,items->Index(['libelle\u Article','libelle\u segment',dtype='object')]
如果我以这种方式修改“Libelléu Article”专栏:
df['Libellé_Article'] = str(df['Libellé_Article'])
不再有错误,但我在执行以下操作时仍会收到错误消息:
df['Libellé_Article'] = df['Libellé_Article'].astype(str)
问题是使用str()会破坏我的内存
有什么想法吗 str(df['libelle\u Article'])
将整个列的内容转换为单个字符串。它将以一根非常大的绳子结束。这就是炸掉你公羊的原因
比如说
>> df = pd.DataFrame([1,2,3], columns=['A'])
>> df['A']
0 1
1 2
2 3
Name: A, dtype: int64
>> str(df['A'])
'0 1\n1 2\n2 3\nName: A, dtype: int64'
>> df['A'].astype(str)
0 1
1 2
2 3
Name: A, dtype: object
因此,如果您想将整个列转换为字符串类型,您应该只使用
.astype(str)
,因为这是一个无格式的无意义的问题,所以我投票将此问题作为主题外的问题结束。格式是可修复的(完成)。然而,这个问题仍然不清楚。你能把它改写成一个实际的问题吗?谢谢很抱歉,在我写完之前,我的浏览器发送了这个问题。汉克斯·凯瑟曼尼,你说得很对!因此,问题仍然是为什么在应用.astype(str)
时会收到错误消息。我怀疑“Libellé_Article”专栏中有一个特殊字符,但到目前为止无法找到。为此,请发布一些示例数据,以便我可以在我的机器上本地试用