小编Bru*_*iro的帖子

Flask+requests API ConnectionRefusedError: [Errno 111] 连接被拒绝

我正在尝试运行一个简单的 Flask API,但它没有按预期工作。我在 Python 方面不是很有经验,所以发现错误并解决它非常具有挑战性。如果有人可以提供帮助,我将不胜感激。

系统设置如下:

  • Ubuntu 18.04
  • 使用 python 3.7 的 Conda 环境

这些是要求:

$ pip freeze

ansimarkup==1.4.0
asn1crypto==0.24.0
better-exceptions-fork==0.2.1.post6
certifi==2019.3.9
cffi==1.12.3
chardet==3.0.4
Click==7.0
colorama==0.4.1
cryptography==2.7
Flask==1.0.3
idna==2.8
itsdangerous==1.1.0
Jinja2==2.10.1
loguru==0.2.5
MarkupSafe==1.1.1
pycparser==2.19
Pygments==2.4.2
pyOpenSSL==19.0.0
PySocks==1.7.0
requests==2.22.0
six==1.12.0
urllib3==1.24.2
Werkzeug==0.15.4
Run Code Online (Sandbox Code Playgroud)

我的项目结构是这样的:

??? statsapi
?   ??? data_store.py
??? app.py
??? client.py
??? requirements.txt
Run Code Online (Sandbox Code Playgroud)

这是 app.py 代码:

??? statsapi
?   ??? data_store.py
??? app.py
??? client.py
??? requirements.txt
Run Code Online (Sandbox Code Playgroud)

data_store.py 代码:

#!/usr/bin/env python

from flask import Flask, request, jsonify
from loguru import …
Run Code Online (Sandbox Code Playgroud)

python flask python-requests

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

使用dplyr/ggplot函数在for循环中调用许多变量

有时,在进行探索性分析或生成报告时,我们希望绘制许多变量的单变量分布.我可以在经过一些整洁的伎俩之后面对这个情节,但是有序因素,我想继续按照情节订购.

因此,为了更有效地完成它,我构建了一个简单dplyr/ ggplot基于函数.我使用vcd包的关节炎数据集在下面做了这个例子.

library(dplyr)
library(ggplot2)

data(Arthritis, package = "vcd")

head(Arthritis)

plotUniCat <- function(df, x) {
  x <- enquo(x)
  df %>%
    filter(!is.na(!!x)) %>%
    count(!!x) %>%
    mutate(prop = prop.table(n)) %>%
    ggplot(aes(y=prop, x=!!x)) +
    geom_bar(stat = "identity")
}

plotUniCat(Arthritis, Improved)
Run Code Online (Sandbox Code Playgroud)

我可以用很短的方式绘制格式化的图形,这很酷,但只有一个变量.

我尝试使用for循环调用多个变量,但它不起作用.代码运行,但没有任何反应.

variables <- c("Improved", "Sex", "Treatment")

for (i in variables) {
  plotUniCat(Arthritis, noquote(i))
}
Run Code Online (Sandbox Code Playgroud)

我搜索了这个,但对我来说仍然不清楚.有人知道我做错了什么或如何使它有效?

提前致谢.

r ggplot2 dplyr tidyeval

5
推荐指数
2
解决办法
484
查看次数

处理tryCatch中的多个错误

我正在尝试处理for循环中的两个可能的错误,该循环要求stplanr::dist_google与API进行交互。我知道这些错误,因此我想在发生错误时采取特定的措施。

如果我尝试仅处理可能的错误之一,则它可以工作:

data(cents, package = "stplanr")
data(flow, package = "stplanr")

od <- stplanr::od2odf(flow=flow, zones=cents)

uma_linha <- data.frame(from_addresses=NA, to_addresses=NA, distances=NA,
                        duration=NA, currency=NA, fare=NA)
output <- data.frame()

for (linha in 1:nrow(od)) {
  o <- od[linha, 3:4]
  d  <- od[linha, 5:6]
  output <- tryCatch(
    {
      rbind(output, stplanr::dist_google(from = o, to = d,
                                         mode = 'walking'))
    },
    error = function(na) {
      message("Erro: No results for this request (e.g. due to lack of support for this mode between the from and to locations)") …
Run Code Online (Sandbox Code Playgroud)

r try-catch

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

在R中的每个单词中提取第一个字母

我有一个带有一些分类变量的data.frame.我们假设sentences是以下变量之一:

sentences <- c("Direito à participação e ao controle social",
               "Direito a ser ouvido pelo governo e representantes", 
               "Direito aos serviços públicos",
               "Direito de acesso à informação")
Run Code Online (Sandbox Code Playgroud)

对于每个值,我想只提取每个单词的第一个字母,忽略单词是否有4个字母或更少(e,de,à,a,aos,ser,pelo),我的目标是创建首字母缩略词变量.我期待以下结果:

[1] "DPCS", "DOGR", "DSP", "DAI
Run Code Online (Sandbox Code Playgroud)

我尝试使用在此处stringr创建的正则表达式模式创建模式子集:

library(stringr)
pattern <- "^(\b[A-Z]\w*\s*)+$"
str_subset(str_to_upper(sentences), pattern)
Run Code Online (Sandbox Code Playgroud)

但是在创建pattern对象时出错:

Error: '\w'  is an escape sequence not recognized in the string beginning with ""^(\b[A-Z]\w"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

在此先感谢您的帮助.

regex r

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

标签 统计

r ×3

dplyr ×1

flask ×1

ggplot2 ×1

python ×1

python-requests ×1

regex ×1

tidyeval ×1

try-catch ×1