1.npz文件的读取存
npz结尾文件是多个的数据集是压缩文件,
cat_data.files 命令进行查看数据集的名字
data = np.load('populations.npz') #文件在python项目的当前目录
data = np.load('populations.npz')
print(data.files )
name = data['feature_names']## 提取其中的columns数组,视为数据的标签
values = data['data']## 提取其中的values数组,数据的存在位置
2关于csv数据如何将一列变成多列数据
方法为:
3拉格朗之差值的封装函数,自己写的
只要输入csv,或excel 文件路径就可以了。另外,拉格朗日插值好像只针对一列,所以本文用了一个for循环。
import pandas as pd
def ChaZhi(src):
if src.split(".")[-1]=="csv":
data = pd.read_csv(src)
elif src.split(".")[-1]=="xlsx" or src.split(".")[1]=="xls" :
data=pd.read_excel(src)
from scipy.interpolate import lagrange
for column in data.columns:
NoneIndex = data[data[column].isnull() == True].index.tolist() # 每一列的缺失值的索引
x = data[column].dropna().index.tolist() # 删除了缺失值之后的列索引,并转换为List
y = data[column].dropna().values.tolist() # 删除了缺失值之后的列数据,并转换为List
LargeInsValue = lagrange(x, y) ##拉格朗日插值拟合x,y1
print(LargeInsValue(NoneIndex)) # 插值结果
ChaZhi("missing_data.csv")