如何将interp1d插值函数转换为非原始x坐标对应的离散数据点?
插值函数转500点离散数据集实现方法
核心逻辑是先在你需要的x轴区间生成均匀分布的500个采样点,再传入你已经生成的interp1d插值函数计算对应y值,即可得到目标离散数据集,参考实现代码如下:
import numpy as np import pandas as pd # 生成x轴采样点:示例使用你代码中限定的绘图区间1030-1102,共500个均匀分布的点 # 若需使用原始数据的完整x区间,可将起止值替换为对应原始x列的min()、max() x_sampled = np.linspace(1030, 1102, 500) # 第一组数据集:Ch_resting_spores插值结果 y_ch = elems['Ch_resting_spores'](x_sampled) # 转成DataFrame格式方便后续处理,也可直接用numpy数组存储 dataset_ch = pd.DataFrame({ "Age_ka": x_sampled, "Ch_resting_spores": y_ch }) # 第二组数据集:intersmall插值结果 y_small = intersmall(x_sampled) dataset_small = pd.DataFrame({ "age_med_Ka": x_sampled, "small": y_small })
如果需要将结果导出为本地文件,可补充调用pandas的导出方法:
# 导出为csv文件,index=False表示不导出自动生成的行索引 dataset_ch.to_csv("ch_resting_spores_500.csv", index=False) dataset_small.to_csv("small_500.csv", index=False)
内容的提问来源于stack exchange,提问作者geeseproblems
相关产品推荐
相关产品推荐

