Pandas: Как получить доступ к другим элементам в строке, если я знаю только элемент в строке DataFrame
Например, в кадре данных:
Gyroscope 448083 -0.05965481 -0.26418558 -0.017044231
Gyroscope 448338 -0.033023197 -0.18002969 -0.011717909
Gyroscope 448340 -0.052197956 -0.17470336 -0.049002163
Gyroscope 448341 -0.03834952 -0.16937704 -0.034088463
Я знаю элементы во втором столбце, но хочу выделить последние три элемента.
Interval
- это кортеж, где я знаю временную метку для начала и конца, но эти значения могут отсутствовать в кадре данных. Если моя переменная interval[0]
была 448075
а моя переменная interval[1]
была 448345
, как мне получить доступ ко всем элементам из 3rd
, 4th
и 5th
столбцов строк со значениями столбца 1 между interval[0]
и interval[1]
?
Я пытаюсь найти самые близкие значения до interval[0]
и interval[1]
в фактическом DataFrame
.
start = np.abs(merge.iloc[:, 1] - i[0]).argmin()
end = np.abs(merge.iloc[:, 1] - i[1]).argmin()
for j in range(start, end):
gyro.append((merge.iloc[:, j][2], merge.iloc[:, j][3], merge.iloc[:, j][4])) if merge.iloc[:, j][0] == 'Gyroscope' \
else acc.append((merge.iloc[:, j][2], merge.iloc[:, j][3], merge.iloc[:, j][4]))
Затем, используя диапазон чисел в интервале, я пытаюсь вытащить последние три записи в каждой строке.
gyro
и acc
- это списки, в которые я добавляю последние три записи в соответствующих строках.
merge.head()
Gyroscope 448083 -0.05965481 -0.26418558 -0.017044231
0 Gyroscope 448338.0 -0.033023 -0.180030 -0.011718
1 LinearAcceleration 448339.0 -0.048183 -0.427365 -0.019752
2 Gyroscope 448340.0 -0.052198 -0.174703 -0.049002
3 LinearAcceleration 448340.0 0.168791 -0.166547 -0.136918
4 Gyroscope 448341.0 -0.038350 -0.169377 -0.034088
В принципе, я хочу индексировать на основе диапазона значений второго столбца и перебирать их.