Python中赋值操作会被解释为设置别名,不会解释为拷贝。
DataFrame的拷贝操作可以使用 ‘DataFrame.copy()'
mth_visit=air_visit
mth_visit['visits_of_mth']=mth_visit.visit_date.dt.month
mth_visit=mth_visit.groupby('visits_of_mth').median()
mth_visit['visits_of_mth']=mth_visit.index #将index转变为column,不然无法解释'visits_of_mth'
sns.barplot(x='visits_of_mth',y='visitors',data=mth_visit)
这段代码中的 mth_visit=air_visit 仅仅只是一个设置别名操作,下面的增加列操作会改变air_visit。
http://blog.51cto.com/thgenius/709295 中也有提到 “当你创建一个对象并给它赋一个变量的时候,这个变量仅仅 参考 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。”