设置Dataframe的值在拷贝上异常慢但是很快

我有一个很小的Pandas DataFrame,只有一列,约有300行。现在我想将给定行的值设置为新值,即

df.loc[row_idx, colname] = new_value

问题是,由于某种原因,此操作大约需要2s。但是,当我制作数据框的副本并在副本上运行相同的操作时

df2 = df.copy()
df2.loc[row_idx, colname] = new_value

the operation only takes ~0.001s. I have thought, that maybe a property of the original dataframe makes selection very slow. DataFrame.copy generates a deep copy though, so its indices are also copied to df2.

不幸的是,我无法提供一个最小的工作示例,因为DataFrame本质上是由我无法控制的库代码提供给我的。

如果有任何建议,我将不胜感激!

谢谢

评论