如何让Pandas将"not applicable"识别为空值
解决Pandas中含"not applicable"的列转整数型空值列的问题
有两种常用方法可以实现需求,根据你的数据状态选择:
一、读取数据时直接处理
如果是刚要读取数据源(比如CSV),可以在读取阶段就把"not applicable"标记为缺失值,再转换列类型:
import pandas as pd # 读取文件时指定"not applicable"为缺失值 df = pd.read_csv("你的数据文件.csv", na_values=["not applicable"]) # 将目标列转为支持空值的整数类型 df["经纬度列名"] = df["经纬度列名"].astype("Int64")
二、已读取数据后的处理
如果数据已经加载到DataFrame里,直接替换字符串为缺失值再转类型:
import pandas as pd # 把"not applicable"替换为Pandas标准缺失值 df["经纬度列名"] = df["经纬度列名"].replace("not applicable", pd.NA) # 转为支持空值的整数类型 df["经纬度列名"] = df["经纬度列名"].astype("Int64")
注意:这里用的Int64是Pandas的可空整数类型(首字母大写),普通的int dtype无法存储空值,必须用这个类型才能同时保留整数特性和空值。
内容的提问来源于stack exchange,提问作者Brandon Feole
相关产品推荐
相关产品推荐

