在DataFrame的切片副本上尝试设置值是不允许的。这是因为切片操作返回的是原始数据的视图,而不是原始数据的副本。这样做是为了提高性能和节省内存。

如果要在DataFrame中设置值,应该使用.loc或.iloc属性来明确地选择要设置值的行和列。

例如,假设我们有一个名为df的DataFrame,要将第一行的第一个元素设置为10,可以使用以下代码:

df.loc[0, 0] = 10

或者,如果要将索引为0的行的第一个元素设置为10,可以使用以下代码:

df.iloc[0, 0] = 10

请注意,这些操作会直接在原始DataFrame中进行更改,而不是在切片副本上进行更改。

A value is trying to be set on a copy of a slice from a DataFrameSee the caveats in the documentation哪里错了

原文地址: https://www.cveoy.top/t/topic/i6cC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录