我的test.csv包含许多NaN:
"Time","Y1","Y2","Y3"
"s","celsius","celsius","celsius"
"0.193","","",""
"0.697","","1",""
"1.074","","","-27"
"1.579","10","",""
"2.083","","5",""
"3.123","15","","-28"
"5.003","","",""
当我try 使用Interpolate填充有效点之间的缺失数据时,它会用完整的整数填充它:
import pandas as pd
df = pd.read_csv("test.csv")
df.loc[1:, "Y3"] = pd.to_numeric(df.loc[1:, "Y3"])
df.loc[1:, "Y3"] = df.loc[1:, "Y3"].interpolate(method='linear').ffill() #method='time' , method='index'
>>> print (df)
Time Y1 Y2 Y3
0 s celsius celsius celsius
1 0.193 NaN NaN NaN
2 0.697 NaN 1 NaN
3 1.074 NaN NaN -27
4 1.579 10 NaN -27 <<-----
5 2.083 NaN 5 -27 <<-----
6 3.123 15 NaN -28
7 5.003 NaN NaN -28
我可以用bill修复列开头的NaN,但是如何用-27.3、-27.6这样的小数值填充-27到-28之间的点呢?