各种数据库系统和文件系统在表示空值时各有特色,不尽相同。
因此,我们从各种数据库系统、文件系统导出数据时,空值会被各种各样的字符取代,例如:\NA、NULL、N、\001、NaN等。
那我们在使用pandas加载这些文件时,如何自动把这些字符转化为空值来表示呢?
以加载csv文件,原文件里使用\NA表示空值为例:
# 空值处理,列出可能的空值的字符串表示。
na_values_list = ['\\N','', '#N/A', '#N/A N/A', '#NA', '-1.#IND', '-1.#QNAN', '-NaN', '-nan', '1.#IND', '1.#QNAN', '<NA>', 'N/A', 'NA', 'NULL', 'NaN', 'n/a', 'nan', 'null']
# 加载时,指明空值字符串。
df = pd.read_csv(input_file, na_values = na_values_list, encoding = 'utf-8')