您好有一個數據框(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