熊猫-使用指定的内插值的最小值和最大值进行内插

时间:2019-12-01 23:09:14

标签: python pandas csv dataframe

我有一个看起来像这样的.csv

value,interpolated,what_it_should_be
34,,34
,,25
25,,25
3,,3
,,5

该文件作为熊猫数据帧读入python。 我想对丢失的数据进行插值,但是插值必须介于5-25(含)之间

   value  interpolated  what_it_should_be
0   34.0          34.0               34.0
1    NaN          29.5               25.0
2   25.0          25.0               25.0
3    3.0           3.0                3.0
4    NaN           3.0                5.0

这是我到目前为止所拥有的。我需要帮助的是限制插值的范围。

import pandas as pd

file = 'test.csv'
df = pd.read_csv(file)

df['interpolated'] = df['value'].interpolate(method='linear')

print(df)

1 个答案:

答案 0 :(得分:1)

我们可以先clip然后再fillna

df.value.fillna(df.interpolated.clip(lower=5,upper=25))
0    34.0
1    25.0
2    25.0
3     3.0
4     5.0
Name: value, dtype: float64