Дан код:import pandas as pddf = pd.DataFrame({'x': [1, 2, 3], 'y': [10, 20, 30]})mask = df['x'] > 1df['y'][mask] = 99Почему это цепочное присваивание ненадёжно?
Два последовательных индексирования могут работать с копией, а не с исходным DataFrame, и поведение зависит от режима pandas
Булевая маска не поддерживается при прямом индексировании через [], поэтому фильтрация всегда игнорируется
Присваивание через [] перезаписывает все строки столбца, а не только те, где маска равна True
Оператор [] не умеет принимать булевую маску в качестве аргумента и всегда бросает KeyError
Порядок операций меняется в зависимости от версии Python, поэтому сначала может применяться маска, а затем выбор столбца