小编tob*_*man的帖子

带参数的Pandas read_sql

是否有任何关于如何在Pandas中使用SQL查询传递参数的示例?

特别是我使用SQLAlchemy引擎连接到PostgreSQL数据库.到目前为止,我发现以下工作:

df = psql.read_sql(('select "Timestamp","Value" from "MyTable" '
                     'where "Timestamp" BETWEEN %s AND %s'),
                   db,params=[datetime(2014,6,24,16,0),datetime(2014,6,24,17,0)],
                   index_col=['Timestamp'])
Run Code Online (Sandbox Code Playgroud)

Pandas文档说params也可以作为dict传递,但是我似乎无法通过尝试例如:

df = psql.read_sql(('select "Timestamp","Value" from "MyTable" '
                     'where "Timestamp" BETWEEN :dstart AND :dfinish'),
                   db,params={"dstart":datetime(2014,6,24,16,0),"dfinish":datetime(2014,6,24,17,0)},
                   index_col=['Timestamp'])
Run Code Online (Sandbox Code Playgroud)

从Pandas运行这些类型的查询的推荐方法是什么?

python sql psycopg2 pandas

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

使用Tensorflow Object Detection API检测图像中的小对象

我想使用Tensorflow Object Detection API来识别一系列网络摄像头图像中的对象.在COCO数据集上预训练的更快的RCNN模型似乎是合适的,因为它们包含我需要的所有对象类别.

但是,我想在识别每个图像中相当小的对象时提高模型的性能.如果我理解正确,我需要编辑配置文件中的锚scales参数,以使模型使用较小的边界框.

我的问题是:

  • 调整此参数后,是否需要在整个COCO数据集上重新训练模型?或者有没有办法改变模型只是为了推断并避免任何重新训练?
  • 是否有任何其他提示/技巧可以成功识别小物体,而不是将图像裁剪成多个部分并分别对每个部分进行推理?

背景信息

我目前正在向模特提供1280x720张图像.大约200x150像素,我发现检测物体更难.

object-detection tensorflow object-detection-api

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

Spark中的分组线性回归

我在PySpark工作,我想找到一种方法对数据组进行线性回归.具体给出了这个数据帧

import pandas as pd
pdf = pd.DataFrame({'group_id':[1,1,1,2,2,2,3,3,3,3],
                    'x':[0,1,2,0,1,5,2,3,4,5],
                    'y':[2,1,0,0,0.5,2.5,3,4,5,6]})
df = sqlContext.createDataFrame(pdf)

df.show()
# +--------+-+---+
# |group_id|x|  y|
# +--------+-+---+
# |       1|0|2.0|
# |       1|1|1.0|
# |       1|2|0.0|
# |       2|0|0.0|
# |       2|1|0.5|
# |       2|5|2.5|
# |       3|2|3.0|
# |       3|3|4.0|
# |       3|4|5.0|
# |       3|5|6.0|
# +--------+-+---+
Run Code Online (Sandbox Code Playgroud)

我现在希望能够y ~ ax + b为每个模型拟合一个单独的模型,group_id并为每个组输出一个包含列ab行的新数据框.

例如1我可以做的组:

from sklearn import linear_model
# Regression on group_id = 1
data …
Run Code Online (Sandbox Code Playgroud)

python pandas apache-spark pyspark

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

使用 Pandas/SQLAlchemy 导入日期时间

我在将日期时间从 SQL Server 数据库导入 Pandas 时遇到问题。

我正在使用以下代码:

data = pd.read_sql('select top 10 timestamp from mytable',db)
Run Code Online (Sandbox Code Playgroud)

'MyTable' 包含一个列 'Timestamp',它是 DateTime2 类型的。

如果db是 pyodbc 数据库连接,这可以正常工作,并且我的时间戳作为数据类型“datetime64[ns]”返回。但是,如果db使用创建的 SQL Alchemy 引擎,create_engine('mssql+pyodbc://...')则返回的时间戳data属于“对象”类型,并且稍后会在我的代码中引起问题。

知道为什么会这样吗?我使用的是 pandas 0.14.1 版、pyodbc 3.0.7 版和 SQL alchemy 0.9.4 版。我怎样才能最好地将数据强制转换为 datetime64[ns]?

python sql-server sqlalchemy pandas

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

如何在 ML Azure Pipeline 中使用环境

背景

我已经从 condaenvironment.yml加上一些 docker 配置和环境变量创建了一个 ML Workspace 环境。我可以从 Python 笔记本中访问它:

env = Environment.get(workspace=ws, name='my-environment', version='1')
Run Code Online (Sandbox Code Playgroud)

我可以成功地使用它来运行 Python 脚本作为实验,即

runconfig = ScriptRunConfig(source_directory='script/', script='my-script.py', arguments=script_params)
runconfig.run_config.target = compute_target
runconfig.run_config.environment = env
run = exp.submit(runconfig)
Run Code Online (Sandbox Code Playgroud)

问题

我现在想像流水线一样运行这个相同的脚本,这样我就可以用不同的参数触发多次运行。我创建的管道如下:

pipeline_step = PythonScriptStep(
    source_directory='script', script_name='my-script.py',
    arguments=['-a', param1, '-b', param2],
    compute_target=compute_target,
    runconfig=runconfig
)
steps = [pipeline_step]
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline.validate()
Run Code Online (Sandbox Code Playgroud)

当我然后尝试运行管道时:

pipeline_run = Experiment(ws, 'my_pipeline_run').submit(
    pipeline, pipeline_parameters={...}
)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: Response status code does not indicate success: 400 (Conda dependencies were not specified. Please make …

python azure azure-machine-learning-studio azure-machine-learning-service

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