import pandas as pd
inputfile = "D:\pythonProject\数据.csv"
train_data = pd.read_csv(inputfile, encoding = 'gbk') #这里如果用utf-8会显示解码错误
print(train_data)
def na_count(data):
data_count = data.count()
na_count = len(data) - data_count
na_rate = na_count/len(data)
result = pd.concat([data_count,na_count,na_rate],axis = 1)
return result
import pandas as pd
from scipy.interpolate import lagrange
def ployinterp_column(s,n,k=5):
y = s[list(range(n-k,n)) + list(range(n+1,n+1+k))]
y = y[y.notnull()]
return lagrange(y.index,list(y))(n)
for i in train_data.columns:
for j in range(len(train_data)):
if (train_data[i].isnull())[j]:
train_data[i][j] = ployinterp_column(train_data[i],j)
outputfile = "D:\pythonProject\数据1.xls"
train_data.to_excel(outputfile)
需要先将所有数据调为统一格式

该博客主要介绍了如何处理数据集中的缺失值。首先,通过读取GBK编码的CSV文件并打印数据框,展示了数据的基本情况。然后定义了一个函数`na_count`来计算每列的缺失值数量和比例。接着,利用`scipy.interpolate.lagrange`进行插值填充缺失值,遍历数据框的每一列和每一行,对空值进行插值处理。最后,将处理后的数据保存为Excel文件,确保所有数据都统一为同一格式。
9万+

被折叠的 条评论
为什么被折叠?



