【发布时间】:2018-10-26 08:39:36
【问题描述】:
考虑这段代码:
In [16]: data = [['Alex',10],['Bob',12],['Clarke',13]]
In [17]: df = pd.DataFrame(data,columns=['Name','Age'])
Out[18]:
Name Age
0 Alex 10
1 Bob 12
2 Clarke 13
In [19]: df_new = df
In [20]: df_new['Age'] = df_new['Age'] * 90 / 100
In [21]: df_new
Name Age
0 Alex 9.0
1 Bob 10.8
2 Clarke 11.7
In [22]: df
Name Age
0 Alex 9.0
1 Bob 10.8
2 Clarke 11.7
当我为新 DataFrame (df_new) 的 Age 列分配新值时,原始 DataFrame (Age) 的 Age 列em>df) 也发生了变化。
为什么会这样?它与我创建原始 DataFrame 副本的方式有关吗?好像他们被锁在一起了。
【问题讨论】:
-
需要
df_new = df.copy(),同时查看this