我期望pandas插值“值”能够处理任意索引,但也许不能。考虑一下
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)但是不..。只有当索引值按递增顺序排列,并且未知值介于两者之间时,我才能得到预期的答案。有没有可以添加到插值函数中的标志?
发布于 2020-02-21 07:11:57
您可以按索引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诀窍是保持原始索引的机智,同时对插值进行排序。原因左侧的数据帧将根据其索引获得右侧数据帧的正确值,而不考虑实际顺序。
https://stackoverflow.com/questions/60328564
复制相似问题