指定缺失值的填充值
利用pd.read_csv读取文件加载时,默认会将文件中缺失的数据自动填充为NaN,如果想指定哪些值作为缺失数据来处理,则可以利用里面的na_values参数。
import pandas as pd
data=pd.read_csv("./selectRefer10PerClass0317.txt",sep='\t')
data.head()
指定字符串'-1'也做为缺失值来处理
import pandas as pd
data=pd.read_csv("./selectRefer10PerClass0317.txt",sep='\t',na_values='-1')
data.head()
数据为空的转换错误
问题: 使用data_df['col2'].astype(int)出现Cannot convert non-finite values (NA or inf) to integer
原因分析: 查看数据后发现是由于col2列中有些记录是空的,为值Nan,所以没法转换成int。
解决方案:
将此列的空值以指定值去填充 fillna函数。如以100
data_df['col2']=data_df['col2'].fillna(100)
data_df['col2'].astype(int)
data_df=pd.DataFrame([[1,2,3],[None,None,2]])
print(data_df)
# data_df[1].astype(int) # 报错 Cannot convert non-finite values (NA or inf)
data_df[1]=data_df[1].fillna(100)
data_df[1].astype(int) # 不在报错
print(data_df)
鸣谢与参考: