Как вычесть нечетное значение строки из четного значения строки?

1

У меня есть dataframe ниже.
Я хочу даже выровнять значение значения из значения нечетной строки. и создать новый фрейм данных.

Как мне это сделать?

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

dataframe

    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
Теги:
pandas
dataframe

2 ответа

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

вы можете использовать shift для вычитания, а затем выбрать каждый второй элемент, начиная со второго элемента (index = 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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню