DataFrame.loc []方法是否对引用进行操作,DataFrame [col]是否按值进行操作?

时间:2018-08-16 20:21:18

标签: python pandas

在其他语言(如C ++)中,将参数传递给函数时,我们有“按值传递”和“按引用传递”方法。

在Python中,特别是在Pandas中,document指定了“返回视图与副本”的区别:

  

(...)看到其中的 getitem 吗?在简单情况之外,很难预测它是否将返回视图或副本(取决于数组的内存布局,有关熊猫无法保证的内存布局),因此很难确定 setitem 将修改dfmi或之后立即被丢弃的临时对象。这就是SettingWithCopy警告您的地方!

“按视图返回”是否等于“按引用传递”,“返回副本”是否等于“按值传递”?

我不理解的一个示例是以下代码:

  • 我在我认为合适的地方使用了df1['Date and Time'] = pd.to_datetime(df1['Date and Time']) fig, ax = plt.subplots() df1.plot(x='Date and Time', y='Values 1', legend=False, ax=ax) plot_ticks = date_and_time.groupby(date_and_time.dt.year).first() ax.set_xticks(plot_ticks.values) ax.set_xticklabels(plot_ticks.dt.date.values)
  • 但是我仍然收到两个“试图在DataFrame的副本上设置一个值”错误。

为什么会这样?

.loc

0 个答案:

没有答案