I'm trying to change values in my DataFrame after merging it with another DataFrame and coming across some issues (doesn't appear to be an issue prior to merging).

I am indexing and changing values in my DataFrame with:

```
df.iloc[0]['column'] = 1

```

Subsequently I've joined (left outer join) along both indexes using merge (I realize left.join(right) would work too). After this when I perform the same value assignment using iloc, I receive the following warning:

```
__main__:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy

```

A review of the linked document doesn't clarify the understanding hence, am I using an incorrect method of slicing with iloc? (keeping in mind I require positional based slicing for the purpose of my code)

I notice that df.ix[0,'column'] = 1 works, and similarly based on [this page](https://stackoverflow.com/questions/31569384/set-value-for-particular-cell-in-pandas-dataframe-with-iloc?noredirect=1&lq=1) I can reference the column location with df.columns.get\_loc('column') but on the surface this seems unnecessarily convoluted.

What's the difference between these methods under the hood, and what about merging causes the previous method (df.iloc[0]['column']) to break?