小编Fra*_*ues的帖子

如何在Rails中链接原始SQL查询或如何从Rails中的原始SQL查询返回ActiveRecord_Relation?

如何运行原始sql查询并获取ActiveRecord_Relation实例返回?

在sqlite3 db和Rails 4.2上,ActiveRecords::Base.exec_query(sql)返回一个ActiveRecord_Result实例。ActiveRecords::Base.execute(sql)返回一个数组。这很麻烦,因为我无法在返回的对象上运行后续的“ ActiveRecord查询”或原始sql查询。

更一般而言,我想知道如何在Rails中链接“复杂”的SQL查询。复杂地说,我无法通过ActiveRecords提供的“ ORM方法”找到解决方法。通过链接,我的意思是出于性能原因,我想在几个SQL查询中对其进行分解。示例:我只想先运行一次繁重的SQL查询,然后存储结果,然后根据用户行为运行较轻的sql查询。

我目前正在尝试通过使用服务器端处理实现的dataTables优化数据库可视化。每次用户与表进行交互时,服务器都必须运行不必要的复杂SQL查询,因为我无法在更简单的查询中对其进行分解。我查看了以下问题,但找不到令人满意的解决方案:

Rails原始SQL示例

在rails 4中将Array#select转换为活动记录查询

哈希/数组到活动记录

sql sqlite activerecord database-connection ruby-on-rails

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

Kibana 中的正则表达式问题

我很难在 Kibana/Elasticsearch 6.5.4 版中使用正则表达式模式。我正在搜索的字段具有以下映射:

"field": {
          "type": "text",
          "analyzer": "custom_analyzer"
        },
Run Code Online (Sandbox Code Playgroud)

当直接向 elasticsearch 请求时,此字段中的正则表达式搜索会返回多个命中:

GET /my_index/_search
{
    "query": {
        "regexp":{
            "field": "abc[0-9]{4}"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

另一方面,在 Kibana 的发现/仪表板页面中,以下所有查询都返回空:

原始查询 - field:/abc[0-9]{4}/

转义查询 - field:/abc\[0\-9\]\{4\}/

绝望的询问—— field:/.*/

检查 kibana 对 elasticsearch 执行的请求会显示以下查询:

  "query": {
    "bool": {
      "must": [
        {
          "query_string": {
            "query": "field:/abc[0-9]{4}/",
            "analyze_wildcard": true,
            "default_field": "*"
          }
        }
Run Code Online (Sandbox Code Playgroud)

我希望 kibana 理解双正斜杠语法/my_query/并使用“regexp query”而不是“query_string”。我已经尝试了这两种查询语言:“lucene”、“kuery”和启用/禁用可选的“实验查询功能”。

进一步挖掘我发现了这个旧问题,它说 elastic 只将正则表达式运行到现在已弃用的 _all 字段中。如果这仍然成立,我不确定正则表达式在 kibana/elastic 6.X 中是如何工作的。

我错过了什么?任何帮助澄清在 Kibana 中使用正则表达式的条件将不胜感激

本主题中的所有其他堆栈问题要么是陈旧的,要么与语法问题和/或缺乏对分析器如何处理空格的理解有关,并且没有为我提供任何帮助。

regex elasticsearch kibana

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

Seaborn 和 pd.scatter_matrix() 绘图颜色问题

我正在根据目标变量(植物物种)着色的 Iris 数据集从 DataFrame 制作 pd.scatter_matrix() 图。当我运行下面的代码时,我得到一个带有黑色、灰色和白色 (!) 彩色散射点的散射矩阵,这阻碍了可视化。网格似乎也不一致,显然只有靠近轴的图才能获得相应的网格。我想要一个遵循 sns 默认调色板(蓝色、绿色、红色)的漂亮网格和散点矩阵。

为什么 seaborn 绘图样式和 pd.scatter_matrix() 的使用强制执行不同的(可怕的!)调色板,然后是散点图和不一致网格线的默认值?如何解决这些可视化问题?

我已经将 seaborn 更新到了一个相当新的版本(2017 年 7 月的 0.8)。还尝试了非弃用版本的 scatter_matrix plot for pandas pd.plotting.scatter_matrix() 并且没有运气。如果我使用 'ggplot' 样式,则散点图的调色板是正确的,但网格仍然不一致。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('seaborn')
from sklearn import datasets

iris = datasets.load_iris()
X = iris.data
y = iris.target
df = pd.DataFrame(X, columns = iris.feature_names)

pd.scatter_matrix(df, c=y, figsize = [8,8],
                      s=80, marker = 'D');
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

包版本:

熊猫版本:0.20.1
matplotlib 版本:2.0.2 …

python data-visualization matplotlib pandas seaborn

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

`绑定.pry` 与 `pry`

pry调用和 和有什么不一样binding.pry?例如:

require 'pry'

class Bookshop
  def initialize(book)
    @books = []
    @hp = 'harry potter'
    lotr = 'lord of the rings'
    @books << @harry_potter
    @books << lord_of_the_rings
    @books << book
    binding.pry #OR pry
  end

  def print_all_books
    puts @books.join(', ')
  end
end

new_bookshop = Bookshop.new('the hobbit')
Run Code Online (Sandbox Code Playgroud)
  • binding.pry使我能够访问实例变量@hp、局部变量lotr和实例方法print_all_books
  • pry提供对实例变量和方法的访问,但抛出NameError: undefined local variablefor lotr

两者都表示相同的上下文。这里发生了什么?pry是否存在需要调用的情况binding.pry

ruby pry

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

如何将ipython / jupyter设置为vscode的默认python终端?

如何选择ipython / jupyter作为DEFAULT python终端?我将Windows 10和Linux计算机与anaconda一起使用。

如果我在终端上键入“ ipython”,它将打开一个ipython会话。如果运行调试器或Shift + Enter一行,它将自动在“准系统” python外壳程序上运行。应该很简单...但是我一直在搜索和弄乱设置达半小时,但没有成功。

抬头

https://code.visualstudio.com/docs/python/tutorial-flask

在VS Code中使用IPython REPL

但找不到在我的linux或win10机器上进行设置的方法。有任何想法吗?

python ipython jupyter visual-studio-code

2
推荐指数
3
解决办法
1634
查看次数