小编cap*_*tle的帖子

如何使用GET请求将参数传递给AWS Lambda函数?

假设我想从我的Api网关端点向我的Lambda函数发出GET请求时,在URL字符串中传递val1和val2:

https://xyz.execute-api.amazonaws.com/prod/test?val1=5&val2=10
Run Code Online (Sandbox Code Playgroud)

我有一个简单的函数,它将两个输入val1和val2相加:

def lambda_handler(event, context):
    # How do I get at val1 and val2??
    return {'result': val1 + val2}
Run Code Online (Sandbox Code Playgroud)

我已经在AWS API网关上的方法请求中为URL查询字符串参数添加了val1和val2.但是如何在函数内部访问它们呢?

python amazon-web-services aws-lambda aws-api-gateway

20
推荐指数
2
解决办法
2万
查看次数

我可以在VBA中以编程方式检查Excel函数签名吗?

而不是通过名称显式访问所有参数,有没有办法从函数内以编程方式获取函数参数列表?

所以对于这个函数签名:

Function doSomething(Arg1 as String, Arg2 as Range, Optional Arg3 as String):
Run Code Online (Sandbox Code Playgroud)

理想情况下,是否存在包含参数名称及其元数据(类型,可选,默认值等)的对象?例如,Me.Arguments此函数中的代码将生成如下字典:

{
  "Arg1": {
    "Type": String,
    "Optional": False,
    "Default": Nothing
  },
  "Arg2": {
    "Type": Range,
    "Optional": False,
    "Default": Nothing
  },
  "Arg1": {
    "Type": String,
    "Optional": True,
    "Default": Nothing
  }
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

excel vba excel-vba

9
推荐指数
1
解决办法
1037
查看次数

如何在numpy中将此循环向量化?

我有这个数组:

arr = np.array([3, 7, 4])
Run Code Online (Sandbox Code Playgroud)

这些布尔索引:

cond = np.array([False, True, True])
Run Code Online (Sandbox Code Playgroud)

我想在布尔条件为真的数组中找到最大值的索引.所以我这样做:

np.ma.array(arr, mask=~cond).argmax()
Run Code Online (Sandbox Code Playgroud)

哪个工作并返回1.但如果我有一个布尔索引数组:

cond = np.array([[False, True, True], [True, False, True]])
Run Code Online (Sandbox Code Playgroud)

是否有一个矢量化/ numpy方式迭代布尔索引数组返回[1,2]?

python numpy

6
推荐指数
1
解决办法
105
查看次数

如何将所有批量数据加载到Keras(Theano后端)的GPU内存中?

Keras逐批将数据加载到GPU上(作者在此处注明).

对于小型数据集,这是非常低效的.有没有办法修改Keras或直接调用Theano函数(在Keras中定义模型后)以允许所有批次预先移动到GPU,并使用GPU内存中已有的批次进行训练?

(几周前有人在Keras名单上问了同样的问题,但到目前为止还没有回复.)

theano keras

6
推荐指数
1
解决办法
1199
查看次数

如何在命名空间字典中执行函数?

假设我有以下命令:

In [6]: scope
Out[6]: {'bar': <function bar>, 'foo': <function foo>}
Run Code Online (Sandbox Code Playgroud)

并且foobar是:

def foo():
    return 5

def bar(x):
    return foo() + x
Run Code Online (Sandbox Code Playgroud)

我想跑bar(1),但还需要找到foo()bar()有没有办法在名称空间中运行scope以便找到foo()

我不确切知道需要哪个函数,所以我需要一个在命名空间中scope bar运行的通用方法。我没有源代码,也无法修改任何一个函数来接受字典。barscope

看起来函数有一个__closure__属性,但它是不可变的。还有一个__globals__属性,但它仅指向globals(). 我已经看到了有关该更新的一些答案,locals()但我想保持locals()不变。

我尝试了evalin scope,但得到了NameErrorfor foo

In [12]: eval(scope['bar'](1), scope)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-12-f6305634f1da> in <module>()
----> 1 …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

5
推荐指数
1
解决办法
909
查看次数

如何从时间序列图中排除某些日期(例如,周末)?

在下面的例子中,我想不包括周末和绘制Y为直线,并指定一些自定义的频率主要刻度标记,因为他们将是一个"破"时间序列(例如,每周一,一拉matplotlibset_major_locator).

我怎么会在Altair那样做?

import altair as alt
import pandas as pd

index = pd.date_range('2018-01-01', '2018-01-31', freq='B')
df = pd.DataFrame(pd.np.arange(len(index)), index=index, columns=['Y'])

alt.Chart(df.reset_index()).mark_line().encode(
    x='index',
    y='Y'
)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python altair

5
推荐指数
1
解决办法
208
查看次数

如何在 SQLAlchemy 中按多对多关系的计数进行排序?

我想按表上多对多关系的计数进行排序。

我的出发点是对该主题的(优秀)回应。然而,就我而言,涉及第三个表,我需要我的反向引用是“连接”而不是“动态”。

当我尝试解决该问题时,这两个更改的组合会导致编程错误。

这是我的设置。我在用户和帖子之间有相同的多对多关系。我的帖子和标题之间也有一对多的关系。我想要的是按喜欢每个帖子的用户数量排序的所有帖子的列表。

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy.orm import relationship, backref
from sqlalchemy import func

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgres://xxx'
db = SQLAlchemy(app)


likes = db.Table('likes',
                 db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
                 db.Column('post_id', db.Integer, db.ForeignKey('post.id')))


class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20))

    def __repr__(self):
        return "<User('%s')>" % self.username


class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(255))
    likes = db.relationship('User', secondary=likes,
                            backref=db.backref('posts', lazy='joined'))

    def __repr__(self):
        return "<Post('%s')>" % self.title


class Heading(db.Model):
    id = …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask-sqlalchemy

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

如何判断某些源代码中导入了哪些模块?

有没有办法检查源代码(或编译的代码对象)并告诉在Python 3.3中导入哪些模块?

例如,在:

import foo

def func():
    from bar import *
    return 42
Run Code Online (Sandbox Code Playgroud)

我想能够告诉模块foo和bar正在导入.我希望避免使用正则表达式或模式匹配.

python python-3.x

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

如何在Windows中使用virtualenv来使用32位和64位Python?

我安装了64位Python(2.7.5)C:\Python27和32位Python C:\Python27_32.

我想使用virtualenv来设置一个32位的虚拟环境,当我需要使用32位Python时,我可以切换到这个环境.一旦设置了该环境,我计划编辑该bin\activate文件以更改所有必需的路径以指向32位目录.

但是,当我尝试创建虚拟环境时,我收到以下错误:

> virtualenv --python=C:\Python27_32\python.exe foo

Running virtualenv with interpreter C:\Python27_32\python.exe
PYTHONHOME is set.  You *must* activate the virtualenv before using it
New python executable in foo\Scripts\python.exe
Installing setuptools...............
  Complete output from command C:\Users\<user>\Drop...o\Scripts\python.exe -c "#!python
\"\"\"Bootstra...sys.argv[1:])

" C:\Python27\lib\site...ols-0.6c11-py2.7.egg:
  Traceback (most recent call last):
  File "<string>", line 278, in <module>
  File "<string>", line 238, in main
  File "build/bdist.linux-i686/egg/setuptools/command/easy_install.py", line 21, in <module>
  File "build/bdist.linux-i686/egg/setuptools/package_index.py", line 2, in <module>
  File "C:\Python27\Lib\urllib2.py", line 94, in …
Run Code Online (Sandbox Code Playgroud)

python virtualenv

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

除了to_pickle之外,序列化DataFrame的最快方法是什么?

我需要序列化DataFrames并通过网络发送它们.出于安全考虑,我不能使用泡菜.

下一个最快的方法是什么?我在v0.13中对msgpacks感兴趣,但除非我做错了什么,性能似乎比pickle差得多.

In [107]: from pandas.io.packers import pack

In [108]: df = pd.DataFrame(np.random.rand(1000, 100))

In [109]: %timeit buf = pack(df)
100 loops, best of 3: 15.5 ms per loop

In [110]: import pickle

In [111]: %timeit buf = pickle.dumps(df)
1000 loops, best of 3: 241 µs per loop
Run Code Online (Sandbox Code Playgroud)

到目前为止,我发现的最好的方法是使用array.tostring()序列化同源numpy数组(df.as_blocks()很方便)并从中重建DataFrame.性能与泡菜相当.

但是,使用这种方法,我被迫将dtype = object的列(即,至少包含字符串的任何内容)转换为完全字符串,因为Numpy的fromstring()无法反序列化dtype = object.Pickle设法保留对象列中的混合类型(它似乎包括pickle输出中的一些函数).

python serialization numpy pickle pandas

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