Pandas读取CSV时部分列None转为NaN,如何统一设为字符串?
解决Pandas读取CSV时"None"识别不一致的问题
原始数据结构
| Fluor | Comment |
|---|---|
| Strong | None |
| None | None |
| None | Yes |
问题说明
用Pandas读取上述结构的CSV文件时,Fluor列中的"None"被自动识别为NaN,但Comment列的"None"却保留为字符串'None',需要把所有的"None"统一处理为字符串类型。
方法一:读取CSV时禁用自动转换NaN
直接在read_csv中添加na_filter=False参数,从根源上阻止Pandas将"None"这类值自动转为NaN,所有"None"都会保留为字符串:
import pandas as pd df = pd.read_csv('你的文件路径.csv', na_filter=False)
方法二:读取后批量替换NaN为字符串"None"
如果已经完成读取操作,可通过fillna方法将所有NaN值替换成字符串"None":
# 仅处理Fluor列 df['Fluor'] = df['Fluor'].fillna('None') # 处理整个DataFrame的所有列 df = df.fillna('None')
内容的提问来源于stack exchange,提问作者BKP
相关产品推荐
相关产品推荐

