小编Rex*_*zle的帖子

在python pandas中设置切片中第一项的值

所以我想制作一个数据帧片,然后设置该片中第一个项的值而不复制数据帧.例如:

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方法似乎有效,如果不是,则掩码方法.在我的情况下,索引不是唯一的,我在最初的帖子中忘了提到.

python mask slice pandas argmax

14
推荐指数
2
解决办法
1530
查看次数

如何停止 Puppeteer 中的所有 JS 脚本

我希望能够在页面加载后阻止任何脚本在 puppeteer 中运行。这样做的原因是停止轮播图像和延迟加载图像,并基本上使页面尽可能静态地运行,以启用图像不变的屏幕截图等。

通过这样做page.evaluate('debugger;')可以暂停整个脚本,但这不会让您继续拍摄屏幕截图,因为 aevaluate函数在您退出调试器之前不会退出(如果启用了 gui)

google-chrome-devtools puppeteer

10
推荐指数
4
解决办法
8226
查看次数

使用uWSGI代理某些请求

我试图将所有请求发送/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)

python uwsgi

8
推荐指数
1
解决办法
192
查看次数

使用 puppeteer 单击可见元素

我试图单击页面中的多个元素,但前提是它们可见。使用 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木偶操作者中的方法来做到这一点的方法。

javascript selenium puppeteer

4
推荐指数
1
解决办法
1万
查看次数

关于"收益"和"下一步"行为的问题

所以我从列表中创建一个生成器,但是想在其上调用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调用.

python

2
推荐指数
1
解决办法
50
查看次数