您好有一个数据框(df),它包含从Excel电子表格读入Python/Pandas的两列(日期,文本)。Python将Pandas Float转换为字符串
xl = pd.ExcelFile(dir+"file.xlsx")
df = xl.parse(xl.sheet_names[0])
date text
0 2013-08-06 NaN
1 2013-08-06 Text with unicode
2 ...
文本包含不需要的Unicode字符我通常剥离出使用
df['text'] = df['text'].apply(lambda sentence: ''.join(word for word in sentence if ord(word) < 128))
然而,由于第一行中的文本包含“南”,看来该列被分类为“浮动“由熊猫和上述命令失败,因为它只能操作字符串。因为它包含Unicode字符我不能找到一种方法来重新分配类型为字符串:
df['text'] = df['text'].astype(str)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128)
这种感觉就像我进入一个“先有鸡还是先有蛋”的窘境。
您可以包括用于阅读电子表格的行? – chrisaycock 2014-09-04 13:56:18
你不能只是叫'dropna'或者你想用一些值替换'NaN'吗? – EdChum 2014-09-04 13:58:10
@chrisaycock:我添加了阅读电子表格的行。 – slaw 2014-09-04 14:03:16