如图,已知一组数据(AB列),现在想求D列对应的值,除了手动一个个插值以外,有没有什么方便的方法啊?谢谢大家
4条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
当然,我可以帮助您解决这个问题。在Python中,您可以使用numpy库的
interp
函数或pandas库的interpolate
方法来进行批量线性插值。假设您的数据存储在一个名为df的pandas DataFrame中,其中A列是x轴数据,B列是y轴数据,而D列是您想要插值的目标x轴新点:
import pandas as pd import numpy as np # 假设这是您的原始DataFrame(AB列) df = pd.DataFrame({ 'A': [1, 2, 3, 4, 5], 'B': [2, 4, 6, 8, 10] }) # 创建一个新的列D,用于存放需要插值的目标x坐标 df['D'] = [1.5, 2.5, 3.5, 4.5] # 使用pandas的interpolate方法进行线性插值 df['Interpolated_B'] = df.set_index('A').interpolate(method='linear').loc[df['D']]['B'] # 或者如果您想用numpy interp函数,可以这样操作: df['D_np_interpolated'] = df.apply(lambda row: np.interp(row['D'], df['A'], df['B']), axis=1) # 现在df['Interpolated_B']和df['D_np_interpolated']列分别存储了根据A列和D列对应的插值结果
这里需要注意的是,上述代码假定您的数据是有序的,并且您希望在'A'列的基础上对'D'列进行线性插值以得到'B'列的新值。请根据实际数据情况调整代码。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 我把这个最后一步的exefile改成7zfile了,咋办啊,我电脑所有软件都打不开,想初始化也没办法,有没有人可以帮一下我啊
- ¥15 python视觉识别调用鼠标宏驱动实现鼠标实时移动到目标人物中心,
- ¥15 手机登录公司网站需要人脸识别,UC浏览器提示这样,有人知道解决方法吗
- ¥15 《C程序设计语言》第4章第一个例题无法输出
- ¥15 KEIL编写代码的时候,主函数中没有加任何死循环语句和条件,为什么还是无限死循环
- ¥15 linux命令行中的一个问题
- ¥15 如何让 python 正确发起 http2 请求?
- ¥15 前端el-table表头显示不全
- ¥30 如何实现用乐迪AT9S遥控器控制步进电机
- ¥50 ASP+IIS+SQL2008,search.asp搜索突然失效