我下面有数据框。
我想从奇数行值中减去偶数行值。
并制作新的数据框。
我该怎么办?
import pandas as pd
import numpy as np
raw_data = {'Time': [281.54385, 436.55295, 441.74910, 528.36445,
974.48405, 980.67895, 986.65435, 1026.02485]}
data = pd.DataFrame(raw_data)
data
数据框
Time
0 281.54385
1 436.55295
2 441.74910
3 528.36445
4 974.48405
5 980.67895
6 986.65435
7 1026.02485
想要的结果
ON_TIME
0 155.00910
1 86.61535
2 6.19490
3 39.37050
答案 0 :(得分:2)
您可以使用NumPy索引:
res = pd.DataFrame(data.values[1::2] - data.values[::2], columns=['Time'])
print(res)
Time
0 155.00910
1 86.61535
2 6.19490
3 39.37050
答案 1 :(得分:1)
您可以使用shift进行减法,然后从第二个元素(索引= 1)开始选择每个第二个元素
(data.Time - data.Time.shift())[1::2].rename('On Time').reset_index(drop=True)
outputs:
0 155.00910
1 86.61535
2 6.19490
3 39.37050
Name: On Time, dtype: float64