小编pie*_*eca的帖子

设置叶片等值区域缺失值的颜色

我有一个包含一些国家和变量的数据框,我想folium用整个世界的geojson文件生成一个等值区域图.我folium在将色标上的最大值分配给我的数据帧中不存在的国家时遇到问题.以下最低限度:

import random
import pandas as pd
import folium
import json

map_data = pd.DataFrame({
    'A3':['POL', 'CZE', 'SVK', 'HUN', 'AUT'],
    'value':random.sample(range(10), 5)
})

m = folium.Map(
    location = [50, 15], 
    zoom_start = 4
)

m.choropleth(
    geo_data = 'https://github.com/simonepri/geo-maps/releases/download/v0.6.0/countries-land-10km.geo.json',
    data = map_data,
    columns = ['A3', 'value'],
    key_on = 'feature.properties.A3',
    fill_color = 'YlOrRd'
)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我的问题如下:如何判断folium丢失的国家(即存在于json文件中但未存在的那些)中的特定颜色(例如,灰色或透明map_data),而不是将它们作为给定变量的最大值着色(这是一种奇怪的行为)?

python geojson pandas leaflet folium

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

闪亮:在非活动tabPanel上更新DT

TL; DR:如何在非活动选项卡上强制绘制数据表但其输入更改?

有一个闪亮的应用程序看起来像这样:

library(shiny)
library(DT)
shinyApp(

  ui = fluidPage(

    sidebarLayout(

      sidebarPanel(
        numericInput(
          inputId = "random_val",
          label = "pick random value",
          value = 1
        )
      ),

      mainPanel(
        tabsetPanel(
          id = "tabset",
          tabPanel(
            title = "some_other_tab",
            "Some other stuff"
          ),
          tabPanel(
            title = "test_render",
            textOutput("echo_test"),
            DTOutput("dt_test")
          )
        )
      )
    )
  ),

  server = function(input, output) {

    output$echo_test <- renderText({
      cat("renderText called \n")
      input$random_val
    })
    outputOptions(output, "echo_test", suspendWhenHidden = FALSE)

    output$dt_test <- renderDT({
      cat("renderDT called \n")
      df <- data.frame(
        a = 1:10^6,
        b …
Run Code Online (Sandbox Code Playgroud)

javascript jquery r shiny dt

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

如何在散景中设置日期时间轴的语言?

我在设置日期时间轴格式的语言时遇到问题bokeh。根据文档“根据当前区域设置”DatetimeTickFormatter生成时间刻度。然而,无论我在 Python 中设置什么语言环境,我都会得到一个英文格式的图:

# jupyter notebook
import locale
locale.setlocale(locale.LC_ALL, 'pl')

import random
from datetime import datetime, date
from bokeh.plotting import figure, show
from bokeh.io import output_notebook
from bokeh.models.formatters import DatetimeTickFormatter

output_notebook()

x_values = [datetime(2018, i, 1) for i in range(6, 13)]
y_values = [random.normalvariate(0, 1) for i in range(6, 13)]

p = figure(plot_width=600, plot_height=300, 
           x_axis_type='datetime', title="test", 
           x_axis_label='x test', y_axis_label='y test')

p.line(
    x=x_values, 
    y=y_values
)

p.xaxis.formatter = DatetimeTickFormatter(months = '%B')

show(p)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果相关,则全局系统区域设置设置为en-US: …

python locale localization bokeh

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

Python 将命令及其输出写入文件

有没有办法将命令及其输出写入外部文件?

假设我有一个脚本outtest.py

import random
from statistics import median, mean

d = [random.random()**2 for _ in range(1000)]
d_mean = round(mean(d), 2)
print(f'mean: {d_mean}')
d_median = round(median(d), 2)
print(f'median: {d_median}')
Run Code Online (Sandbox Code Playgroud)

现在,如果我只想捕获它的输出,我知道我可以这样做:

python3 outtest.py > outtest.txt
Run Code Online (Sandbox Code Playgroud)

但是,这只会给我一个outtest.txt文件,例如:

mean: 0.34
median: 0.27
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是一种获取输出文件的方法,例如

import random
from statistics import median, mean

d = [random.random()**2 for _ in range(1000)]
d_mean = round(mean(d), 2)
print(f'mean: {d_mean}')
>> mean: 0.34
d_median = round(median(d), 2)
print(f'median: {d_median}')
>> median: 0.27
Run Code Online (Sandbox Code Playgroud)

或其他一些格式(降价,无论如何)。本质上,类似于jupyter notebook或 …

python bash markdown

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

正则表达式检查链接是否指向文件

如何检查给定的链接(URL)是指向文件还是另一个网页?

我的意思是:

目前,我正在做一个非常棘手的多步骤检查,它还需要相对于绝对链接进行转换,如果缺少则添加http前缀,并删除“#”锚链接/参数才能正常工作。我也不确定我是否将存在的所有可能的页面扩展名列入白名单

import re
def check_file(url):
    try:
        sub_domain = re.split('\/+', url)[2] # part after '2nd slash(es)''
    except:
        return False # nothing = main page, no file
    if not re.search('\.', sub_domain):
        return False # no dot, no file
    if re.search('\.htm[l]{0,1}$|\.php$|\.asp$', sub_domain):
        return False # whitelist some page extensions
    return True

tests = [
    'https://www.stackoverflow.com',
    'https://www.stackoverflow.com/randomlink',
    'https:////www.stackoverflow.com//page.php',
    'https://www.stackoverflow.com/page.html',
    'https://www.stackoverflow.com/page.htm',
    'https://www.stackoverflow.com/file.exe',
    'https://www.stackoverflow.com/image.png'
]

for …
Run Code Online (Sandbox Code Playgroud)

html python regex hyperlink

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

最大化并行请求数 (aiohttp)

tl;dr:如何最大限度地增加可以并行发送的 http 请求数?

我正在使用aiohttp库从多个 url 获取数据。我正在测试它的性能,我观察到在这个过程中的某个地方存在瓶颈,一次运行更多的 url 无济于事。

我正在使用此代码:

import asyncio
import aiohttp

async def fetch(url, session):
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0'}
    try:
        async with session.get(
            url, headers=headers, 
            ssl = False, 
            timeout = aiohttp.ClientTimeout(
                total=None, 
                sock_connect = 10, 
                sock_read = 10
            )
        ) as response:
            content = await response.read()
            return (url, 'OK', content)
    except Exception as e:
        print(e)
        return (url, 'ERROR', str(e))

async def run(url_list):
    tasks = []
    async with …
Run Code Online (Sandbox Code Playgroud)

python asynchronous request python-asyncio aiohttp

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

R Shiny selectizeInput:设置输入量的最小值

我在一个闪亮的应用程序中有一个selectizeInputwith multiple = TRUE,我想阻止用户选择NULL(即,将其留空)。我的目标是确保至少选择一项(无论哪一项)。

我发现这个问题是关于相反的问题(即限制最大选择数),并且我检查了selectize 文档。不幸的是,似乎没有minItems选择。有没有办法实现我想要的功能?

最小示例:

library(shiny)
shinyApp(

  ui = fluidPage(
    selectizeInput(
      inputId = "testSelect",
      label = "Test",
      choices = LETTERS[1:4],
      selected = LETTERS[1],
      multiple = TRUE,
      # Problem: how to specify 'minItems' here
      options = list(maxItems = 2)
    ),
    verbatimTextOutput("selected")
  ),

  server = function(input, output) {
    output$selected <- renderPrint({
      input$testSelect
    })
  }

)
Run Code Online (Sandbox Code Playgroud)

javascript r shiny selectize.js

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

带有条件面板的闪亮模块中的命名空间错误

我编写了一个小应用程序,您可以在其中看到一个单选按钮,您可以使用它在绘图图表和渲染表格之间切换。有用。之后我阅读了有关模块的 Shiny 文档并最终得到了这个应用程序:

我的应用程序R

library(shiny)

ui <- fluidPage(  
  fluidRow(
    column(6,
           chartTableSwitchUI("firstUniqueID")
           )
    )
)

server <- function(input, output) {
  callModule(chartTableSwitch, "firstUniqueID")
}

shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

我编写了一个 globar.R ,如下所示:

library(shiny)
library(plotly)

#define a simple dataframe for module example
X <- c("a", "b", "c")
Y <- c(1,2,3)
df <- data.frame(X,Y)

#UI function for first module
chartTableSwitchUI <- function(id){
  ns <- NS(id)
  tagList(
    radioButtons("rb1", "View", choices = c(ns("Chart"), ns("Table")), 
                 selected = "Chart", inline = TRUE),
    conditionalPanel(
      condition = "input.rb1 == …
Run Code Online (Sandbox Code Playgroud)

module r shiny

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