Pandas中对整个DataFrame调用interpolate函数时部分NaN值无法填充的问题求助
Pandas中对整个DataFrame调用interpolate函数时部分NaN值无法填充的问题求助
我是Pandas的新手,最近接触到interpolate函数感觉挺实用的,但在使用时遇到了一个小问题:
当我运行这段代码时:
result = df.interpolate(method='linear')
发现DataFrame里大部分NaN值都被成功填充了,但Ambient_temp列的前四个NaN,还有Intake_temp列的第一个NaN并没有按照我预期的方式被填充。其他列的插值效果都很理想,唯独这两列出了问题,有没有大佬能给点解决思路呀?
我准备了一个简化版的示例代码,和我实际遇到的问题场景一致,方便大家复现:
import numpy as np import pandas as pd amb_temp = [np.nan, np.nan, 32, 32] in_temp = [29, 27, 23, 22] volts = [np.nan, 13, 11, 11] data_dict = {'ambient_temperature': amb_temp, 'temperature_inside': in_temp, 'volts': volts} df = pd.DataFrame(data_dict)
(这个示例不是我实际用的DataFrame,但核心问题是一样的,我用numpy.nan模拟了数据缺失的情况)
在这个示例里调用df.interpolate(method='linear')后,ambient_temperature列的前两个NaN同样不会被填充,和我实际遇到的问题完全一致。
备注:内容来源于stack exchange,提问作者Salier1
相关产品推荐
相关产品推荐

