Я пытаюсь очистить набор данных.Должны быть сохранены только значения, меньшие, чем последнее значение.
Сейчас это выглядит примерно так:
my_data
0 10
1 8
2 7
3 10
4 5
5 8
6 2
после очистки должно выглядеть так:
my_data
0 10
1 8
2 7
3 7
4 5
5 5
6 2
У меня также есть некоторый рабочий код, но я ищу более быстрый и более питонский способ сделать это.
import pandas as pd
df_results = pd.DataFrame()
df_results['my_data'] = [10, 8, 7, 10, 5, 8, 2]
data_idx = list(df_results['my_data']._index)
for i in range(1, len(df_results['my_data'])):
current_value = df_results['my_data'][data_idx[i]]
last_value = df_results['my_data'][data_idx[i - 1]]
df_results['my_data'][data_idx[i]] = current_value if current_value < last_value else last_value