我有一个csv文件,其中包含以下信息:
Time(s) Variable
0.003 1
0.009 2
0.056 3
0.094 4
0.4 5
0.98 6
1.08 7
1.45 8
1.89 9
2.45 10
2.73 11
3.2 12
3.29 13
3.5 14
我希望能够将时间列改变为从0开始的0.25s间隔,并使相关的变量数据随之改变(即,如果在2.45V=10,在2.5V=10.2)。 变量数据必须与我假设的时间数据的变化进行插值? 我需要能够直接从csv完成,而不是用python写出数据,因为真正的数据集是1000行。
不确定我想要的是不是真的可能,但是有些想法会顺其自然的,谢谢!
Scipy interp1d怎么样
from scipy.interpolate import interp1d
interp = interp1d(df['Time(s)'], df['Variable'])
new_times = np.arange(0.25, 3.5, 0.25)
pd.DataFrame({'Time(s)': new_times, 'Variable':interp(new_times)})
输出:
Time(s) Variable
0 0.25 4.509804
1 0.50 5.172414
2 0.75 5.603448
3 1.00 6.200000
4 1.25 7.459459
5 1.50 8.113636
6 1.75 8.681818
7 2.00 9.196429
8 2.25 9.642857
9 2.50 10.178571
10 2.75 11.042553
11 3.00 11.574468
12 3.25 12.555556