所以我想制作一个数据帧片,然后设置该片中第一个项的值而不复制数据帧.例如:
df = pandas.DataFrame(numpy.random.rand(3,1))
df[df[0]>0][0] = 0
Run Code Online (Sandbox Code Playgroud)
这里的切片是无关紧要的,仅用于示例,并将再次返回整个数据帧.重点是,通过这样做,就像在示例中,您获得了带有复制警告的设置(可以理解).我还尝试先切片,然后使用ILOC/IX/LOC并使用ILOC两次,例如:
df.iloc[df[0]>0,:][0] = 0
df[df[0]>0,:].iloc[0] = 0
Run Code Online (Sandbox Code Playgroud)
这些都不起作用.再次 - 我不想复制数据框,即使它只是切片版本.
编辑:似乎有两种方法,使用掩码或IdxMax.如果索引是唯一的,IdxMax方法似乎有效,如果不是,则掩码方法.在我的情况下,索引不是唯一的,我在最初的帖子中忘了提到.
我希望能够在页面加载后阻止任何脚本在 puppeteer 中运行。这样做的原因是停止轮播图像和延迟加载图像,并基本上使页面尽可能静态地运行,以启用图像不变的屏幕截图等。
通过这样做page.evaluate('debugger;')可以暂停整个脚本,但这不会让您继续拍摄屏幕截图,因为 aevaluate函数在您退出调试器之前不会退出(如果启用了 gui)
我试图将所有请求发送/other到另一台服务器,例如google.据我所知,配置我应该能够在配置文件中做这样的事情:
[uwsgi]
master = 1
buffer-size = 65535
die-on-term = true
# HTTP
http-socket = 0.0.0.0:80
# App
module = manage:app
# Async processes
gevent = 100
processes = 4
route-if = equal:${PATH_INFO};/other http:216.58.204.78,www.google.com
Run Code Online (Sandbox Code Playgroud)
这不像日志那样有效
error routing request to http server 216.58.204.78
[pid: 9|app: -1|req: -1/11] 172.18.0.1 () {36 vars in 759 bytes} [Thu Sep 20 14:51:55 2018] GET /other => generated 0 bytes in 0 msecs via route() (HTTP/1.1 500) 0 headers in 0 bytes (1 switches …Run Code Online (Sandbox Code Playgroud) 我试图单击页面中的多个元素,但前提是它们可见。使用 selenium (使用)这非常容易is_displayed,但我似乎无法在 puppeteer 中找到方法。我试图使用类似的东西
try {
await page
.waitForSelector(id, visible=true, timeout=0)
.then(() => {
element.click()
});
...
Run Code Online (Sandbox Code Playgroud)
但如果它是一个简单的元素,例如:
<a class="cookie-close" href="#">
OK
</a>
Run Code Online (Sandbox Code Playgroud)
我似乎也看不到使用element.click木偶操作者中的方法来做到这一点的方法。
所以我从列表中创建一个生成器,但是想在其上调用next,它应该只返回列表中的下一个项目,但是它返回相同的对象,即整个代码段再次运行而不是返回屈服部分.下面的示例显示了循环遍历列表时的预期行为,但接下来返回1两次,而我希望第二次调用next返回2.
class demo:
@property
def mygen(self):
a = [1,2,3,4,5]
b = [6,7,8,9,10]
yield from a
yield from b
if __name__=='__main__':
demo1 = demo()
print([_ for _ in demo1.mygen])
demo2 = demo()
print(next(demo2.mygen))
print(next(demo2.mygen))
Run Code Online (Sandbox Code Playgroud)
我将列表转换为生成器是有原因的,因为它是来自api调用的响应,并且想要动态返回列表中的下一个项目,并且如果它到达该列表的末尾则进行api调用.