UnicodeEncodeError:'ascii'编解码器无法在位置321-322中编码字符:序数不在范围内(128)

3
我正在尝试使用pandas将xlsx文件中的列值连接起来。我正在使用以下代码:
(df.astype(str).groupby('name', as_index=False, sort=False)
             .apply(lambda x: pd.Series({v: ','.join(x[v].unique()) for v in x})))

但是,我遇到了以下错误:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 321-322: ordinal not in range(128)

只使用 df.astype(str) 是否会出现相同的错误? - Sebastian Mendez
你能补充一下如何创建DataFrame吗? - hanego
@Sebastian,是的 - karthik
df = pd.DataFrame() file_name = "/home/file_name.xlsx" df = pd.read_excel(file_name) - karthik
是的,可能有。但是由于这近800万条记录,我们无法找到那个位置。 - karthik
显示剩余3条评论
1个回答

3
如果您的DataFrame只需要字符串,您可以在read_excel函数中使用选项dtype=unicode,并删除astype(str)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接