Pandas插值函数对索引有限制吗?

2024-04-26 04:06:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望熊猫插值“值”能够处理任意索引,但也许不能。考虑

   import pandas as pd
   import numpy as np
   dm = pd.DataFrame(index=[0, 4, 3, 2],data={"Col1":[1,2,np.NaN,6]})
   print(dm)

   print ("Expecting: ", 2+(3-4)/(2-4)*(6-2))
   dm = dm.interpolate(method='values')
   print(dm)

但是没有。。。只有当索引值按递增顺序排列且未知值介于两者之间时,我才能得到预期的答案。是否有可以添加到插值函数的标志


1条回答
网友
1楼 · 发布于 2024-04-26 04:06:33

可以按索引pd.Series插值排序

dm["Col1"] = dm["Col1"].sort_index().interpolate(method='values')
>>> dm
   Col1
0   1.0
4   2.0
3   4.0
2   6.0

诀窍是在为插值排序时保持原始索引的圆滑。原因左侧的dataframe将获得右侧数据帧的正确值,与索引相对应,而与实际顺序无关

相关问题 更多 >