当前位置: 首页 > 知识库问答 >
问题:

在pandas[duplicate]中设置切片值的正确方法

通煜祺
2023-03-14

我有一个数据框架:数据。它有列[“名称”、“A”、“B”]

我想做(和工作)的是:

d2 = data[data['name'] == 'fred'] #This gives me multiple rows
d2['A'] = 0

这会将fred行上的列A设置为0。我还做了:

indexes = d2.index
data['A'][indexes] = 0

然而,两者都给了我同样的警告:

/Users/brianp/work/cyan/venv/lib/python2.7/site-packages/pandas/core/indexing.py:128: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy

熊猫想让我怎么做?

共有1个答案

益清野
2023-03-14

这是熊猫发出的一个非常常见的警告。这意味着您是在副本切片中写入数据,而不是在原始数据中写入数据,因此它可能不会应用于原始列,因为链接赋值比较混乱。请阅读这篇文章。它详细讨论了使用CopyWarning设置的。对你来说,我想你可以试试

data.loc[data['name'] == 'fred', 'A'] = 0

 类似资料:
  • 问题内容: 我有一个熊pandas据框:数据。它具有列[“ name”,’A’,’B’] 我想做的(和可以做的)是: 这会将表行上的A列设置为0。我还完成了以下操作: 但是,两者都给我同样的警告: pandas如何让我做到这一点? 问题答案: 这是熊猫的一种非常普遍的警告。这意味着您正在写副本切片,而不是原始数据,因此由于混淆的链式分配,它可能不适用于原始列。请阅读这篇文章。它对此进行了详细的讨论

  • 问题内容: 要声明一个具有固定大小的空切片,最好这样做: 要么: 只想知道哪种方法是正确的。 问题答案: 您提供的两个选择在语义上是相同的,但是使用会导致内部调用 runtime.makeslice (Go 1.14)。 您还可以选择保留其值: 如Golang.org博客中所述: nil切片在功能上等效于零长度切片,即使它没有指向任何内容。它的长度为零,可以附加分配。 甲片段将然而入而空片将编组成

  • 要声明大小不固定的空切片,最好执行以下操作: 或: 只是想知道哪一个是正确的方法。

  • 问题内容: 我有一个小数据框,说这个: 我想要column的滚动平均值,所以我这样做: 它的工作方式如下:我有一个新的列,该列包含我希望包含的内容,但我也收到警告消息: 试图在DataFrame的切片副本上设置一个值。尝试改用.loc [row_indexer,col_indexer] = value 请参阅文档中的警告:http : //pandas.pydata.org/pandas-docs

  • 好吧,这看起来有点傻,但是我很难找到一个函数来从切片的内容返回静态大小的数组。 关于阵列和切片的铁锈书章节对此一无所知。(它确实显示了如何从数组中获取切片,但我想换一种方式。)我还检查了和的文档,但是如果它在那里,我就看不到它了。 当然,可以一个接一个地写下每个元素,但这似乎很荒谬。现在,我最终写了一个python单行线来为我做这件事。 所以我最后得到了这个: 我想知道是否有合适的方法,比如或者类

  • 我已经设置了一个谷歌工作表,它附带了一个脚本,运行一个函数来提取chromebook设备信息,除了我感兴趣的两个字段,“cpuStatusReports”和“diskVolumeReports”之外,效果非常好。脚本记录器确实显示了正确的信息,但我的工作表单元格值设置为例如 {cpuUtilizationPercentageInfo=[Ljava.lang.Object;@d151552,cpuT