当前位置: 首页 > 面试题库 >

python pandas:如何避免链接分配

楚勇
2023-03-14
问题内容

我有一个带有两列的pandas数据框:x和value。我想查找x == 10的所有行,并为所有这些行设置值= 1,000。我尝试了下面的代码,但收到警告

A value is trying to be set on a copy of a slice from a DataFrame.

我知道我可以通过使用.loc或.ix来避免这种情况,但是我首先需要找到满足x == 10的条件的所有行的位置或索引。有没有更直接的方法?

谢谢!

import numpy as np
import pandas as pd

df=pd.DataFrame()
df['x']=np.arange(10,14)
df['value']=np.arange(200,204)


print df

df[ df['x']== 10 ]['value'] = 1000 # this doesn't work

print df

问题答案:

您应该使用loc以确保您正在使用视图,在您的示例中以下内容将起作用并且不会发出警告:

df.loc[df['x'] == 10, 'value'] = 1000

因此,一般形式为:

df.loc[<mask or index label values>, <optional column>] = < new scalar value or array like>

该文档突出显示了错误,并提供了简介,如果其中一些功能文档稀疏,请随时提交改进。



 类似资料:
  • 问题内容: 我正在开发一个嵌入式项目,该项目当前在Linux和uClibc中使用C。我们有兴趣将其移至C ,但我不希望与libstdc 中的链接相关的开销。我的印象是,只要我们不使用STL中的任何内容(例如iostream或vector),就可以实现此目的。 如何在不链接libstdc 的情况下引导g 进行编译? 问题答案: 编译时,仅用于编译。然后,使用代替进行链接。但是,这将直接调用链接器,这

  • 问题内容: 我需要检查某个值是否为null。如果它不为null,则将一些变量设置为true。这里没有其他声明。这样的条件检查太多了。 有什么方法可以在不检查所有方法返回值的情况下处理此空检查? 我认为直接检查变量并忽略NullpointerException。这是一个好习惯吗? 问题答案: 不,在Java中捕获NPE而不是对您的引用进行空检查通常不是一个好习惯。 如果您愿意,可以使用这种东西: 或

  • 问题内容: 我正在尝试通过从客户端向服务器发送密钥和随机数来认证用户。 我的代码未向我显示客户端的响应。执行下面的代码时,我得到了一个空指针异常。 问题答案: 解决大多数问题的固定步骤: 阅读堆栈跟踪以确定哪一行代码引发NPE 在该行代码处设置一个断点 使用调试器,在遇到断点时,确定该行中的对象引用是 弄清楚为什么引用该文件(到目前为止,这是唯一实际的困难部分) 解决根本原因(也可能很困难)

  • 问题内容: 我有两个简单的Java代码。第一个将恒定功率定义为power = a.pow(b); 第二个将恒定功率定义为power = BigInteger.ONE.shiftLeft(b) 在命令行中设置内存标志- Xmx1024m,第一个代码可以正常工作,但是第二个代码却出现错误:java.lang.OutOfMemoryError:Java堆空间 我的问题:我应该在第二个代码中更改什么以避免

  • 问题内容: 我有一个用于将文本添加到现有.doc文件中的代码,它将通过使用apache POI将其另存为另一个名称。 以下是到目前为止我尝试过的代码 以下是我得到的 我已经添加了与此对应的所有jar文件,但仍然找不到解决方案。我对apache poi是陌生的,所以请帮我提供一些解释和示例。谢谢 问题答案: 从我对问题的评论中复制: 看起来您需要Apache POI发行版中的poi-ooxml-sc

  • 我需要检查一些值是否为空。如果它不为空,那么只需将某个变量设置为true。这里没有别的说法。我做了太多这样的检查。 有没有什么方法可以在不检查所有方法返回值的情况下处理这个空检查? 我想直接检查变量并忽略NullPointerException。这是一个好的做法吗?