Проблема здесь в следующем. Во-первых, вы читаете свои данные в панду DF, называемую «файл». Затем вы помещаете DF «файл» в DF «данные». Затем вы изменяете «данные». DF «данных» на самом деле является представлением «файла» DF. Таким образом, вы в конечном итоге модифицируете часть своего «файлового» DF. Одним из способов избавиться от предупреждения является добавление «copy» в конце строки 3:
data = file[file['valid_data']==1].copy()
. Это создаст DF «с данными», независимый от DF «файла». В качестве незначительной мелочи я бы предложил использовать более описательные имена для ваших DF.
Ниже приведены отдельные фрагменты кода (которые будут высоко цениться в будущих вопросах):
import pandas as pd
file = pd.DataFrame([{'time': 199, 'work': 'a', 'answer': 'b', 'actual': 'a', 'valid_data': 1}, {'time': 299, 'work': 'a', 'answer': 'c', 'actual': 'a', 'valid_data': 0}, {'time': 300, 'work': 'a', 'answer': 'd', 'actual': 'a', 'valid_data': 1}])
data = file[file['valid_data']==1]
data.rename(columns={'time':'delay'}, inplace=True)
Вышевыдаст вам предупреждение.
import pandas as pd
file = pd.DataFrame([{'time': 199, 'work': 'a', 'answer': 'b', 'actual': 'a', 'valid_data': 1}, {'time': 299, 'work': 'a', 'answer': 'c', 'actual': 'a', 'valid_data': 0}, {'time': 300, 'work': 'a', 'answer': 'd', 'actual': 'a', 'valid_data': 1}])
data = file[file['valid_data']==1].copy()
data.rename(columns={'time':'delay'}, inplace=True)
Выше не будет предупреждать вас.