我正在尝试使用 pd.read_excel 将大量主要包含数字数据的 .xls 和 .xlsx 文件读入 python。但是,这些文件使用 em-dash 表示缺失值。我正在尝试让 Python 将所有这些 em-dashes 替换为 nans。我似乎找不到让 Python 识别字符的方法,更不用说替换它了。我尝试了以下无效
df['var'].apply(lambda x: re.sub(u'\2014','',x))
我也简单的试过
df['var'].astype('float')
将数据框中的所有 em-dash 转换为 nans,同时将数字数据保持为 float 的最佳方法是什么?
请您参考如下方法:
您应该在较早的阶段发现错误。告诉 pd.read_excel() 将破折号视为 NaN:
df = pd.read_excel(..., na_values=['–','—'])
