Inconsistency of copy and selection methods of data frame objects
#### Example

```python
# Creation of two data frames
df=pd.DataFrame(data={'a':[1,2,3], 'b':[4,5,6]})
df2=pd.DataFrame(data={'c':[7,8,9]}, index=[2,1,0])

# Assign a column of the second into the first
df['c']=df2['c']

# As expected
df
#Out[50]: 
#   a  b  c
#0  1  4  9
#1  2  5  8
#2  3  6  7

# The .at operator works fine
df.at[0,'c']=10
df
#Out[52]: 
#   a  b   c
#0  1  4  10
#1  2  5   8
#2  3  6   7

# We store a copy of the data frame
df3=df.copy()

# df does not change. OK
df
#Out[54]: 
#   a  b   c
#0  1  4  10
#1  2  5   8
#2  3  6   7

# Use again the operator .at on df
df.at[1,'c']=11
df
#Out[56]: 
#   a  b   c
#0  1  4  10
#1  2  5   8 <-----------KO: should have changed
#2  3  6   7

df.at[1,'c']
# Out[57]: 11 <------------ OK. At operator is not consistent...

# Selection of the series
df['c']
#Out[59]: 
#0    10
#1    11 <------------ OK.
#2     7
#Name: c, dtype: int64

# Selection of the data frame with a single column
df[['c']]
#Out[60]: 
#    c
#0  10
#1   8 <------------ KO
#2   7
```
#### Problem description

I realized that the following suite of operations does not work:
1) assignation of a column to a data frame from an other
2) copy of the data frame using the `.copy()` method
3) use of the `.at` operator on the non copied data frame to change a value in the appended column

It leads to an incoherence between the different selectors of the data frame. I would expect a consistent behaviour between different selection methods or at least a warning to prevent the user to do such actions.

#### Expected Output

I expected the value at position `[1,'c']` in the example to be equal to `11` no matter the selection method used: data frame selection, serie selection, .at operator, etc.

#### Output of ``pd.show_versions()``

<details>

INSTALLED VERSIONS
------------------
commit           : None
python           : 3.7.3.final.0
python-bits      : 64
OS               : Linux
OS-release       : 4.19.0-6-amd64
machine          : x86_64
processor        : 
byteorder        : little
LC_ALL           : None
LANG             : fr_FR.UTF-8
LOCALE           : fr_FR.UTF-8
pandas           : 0.25.2
numpy            : 1.17.3
pytz             : 2019.3
dateutil         : 2.8.0
pip              : 19.3.1
setuptools       : 41.5.0
Cython           : 0.29.13
pytest           : 5.2.2
hypothesis       : None
sphinx           : None
blosc            : None
feather          : None
xlsxwriter       : None
lxml.etree       : None
html5lib         : None
pymysql          : None
psycopg2         : None
jinja2           : None
IPython          : 7.9.0
pandas_datareader: None
bs4              : None
bottleneck       : None
fastparquet      : None
gcsfs            : None
lxml.etree       : None
matplotlib       : None
numexpr          : None
odfpy            : None
openpyxl         : None
pandas_gbq       : None
pyarrow          : None
pytables         : None
s3fs             : None
scipy            : 1.3.1
sqlalchemy       : 1.3.10
tables           : None
xarray           : None
xlrd             : None
xlwt             : None
xlsxwriter       : None

</details>
