假设我有以下数据框
df = pd.DataFrame({0: {('A', 'a'): 1, ('A', 'b'): 6, ('B', 'a'): 2, ('B', 'b'): 7},
1: {('A', 'a'): 2, ('A', 'b'): 7, ('B', 'a'): 3, ('B', 'b'): 8},
2: {('A', 'a'): 3, ('A', 'b'): 8, ('B', 'a'): 4, ('B', 'b'): 9},
3: {('A', 'a'): 4, ('A', 'b'): 9, ('B', 'a'): 5, ('B', 'b'): 1},
4: {('A', 'a'): 5, ('A', 'b'): 1, ('B', 'a'): 6, ('B', 'b'): 2}})
Run Code Online (Sandbox Code Playgroud)
看起来是这样的:
0 1 2 3 4
A a 1 2 3 4 …Run Code Online (Sandbox Code Playgroud) 我想知道在给定条件的情况下,在保留原始索引的同时,最有效的方法是做一个数组的argsort
import numpy as np
x = np.array([0.63, 0.5, 0.7, 0.65])
np.argsort(x)
#Corrected argsort(x) solution
Out[99]: array([1, 0, 3, 2])
Run Code Online (Sandbox Code Playgroud)
我想在x> 0.6的条件下对这个数组进行argsort.由于0.5 <0.6,因此不应包括指数1.
x = np.array([0.63, 0.5, 0.7, 0.65])
index = x.argsort()
list(filter(lambda i: x[i] > 0.6, index))
[0,3,2]
Run Code Online (Sandbox Code Playgroud)
这是低效的,因为它没有矢量化.
编辑:过滤器将消除大多数元素.理想情况下,它首先进行过滤,然后进行排序,同时保留原始索引.
我在弹性 beanstalk 上有一个带有 Web 服务器和工作环境的 docker 应用程序。
工作环境当前通过 cron 运行计划作业。我正在尝试将服务器连接到工作人员以实现以下目标:
我无法找到有关 JSON 消息应是什么样子的文档。官方文档中提到了一些HTTP headers 。但没有提到标头来指定工作环境中所需的端点。
# server.py
from bottle import post, HTTPResponse
@post('/trigger_job')
def trigger_worker_job():
# should send a JSON message to sqs to trigger the '/perform_job'
# Need help with what the JSON message looks like
return HTTPResponse(status=200, body={'Msg': 'Sent message'})
Run Code Online (Sandbox Code Playgroud)
# worker.py
from bottle import post, HTTPResponse
@post('/perform_job')
def perform_job():
# job is performed …Run Code Online (Sandbox Code Playgroud)