You must use loc to make sure that you are working on a view, in your example, the following will work, and not raise a warning:
df.loc[df['x'] == 10, 'value'] = 1000
So, the general view:
df.loc[<mask or index label values>, <optional column>] = < new scalar value or array like>
docs highlights errors and there is intro , some of the docs functions provided are sparse, feel free to report improvements.
source share