import numpy as np
foo = [1, "hello", np.array([[1,2,3]]) ]
Run Code Online (Sandbox Code Playgroud)
我期待
foo.index( np.array([[1,2,3]]) )
Run Code Online (Sandbox Code Playgroud)
回来
2
Run Code Online (Sandbox Code Playgroud)
但我得到了
ValueError:具有多个元素的数组的真值是不明确的.使用a.any()或a.all()
什么比我目前的解决方案更好?这似乎效率低下.
def find_index_of_array(list, array):
for i in range(len(list)):
if np.all(list[i]==array):
return i
find_index_of_array(foo, np.array([[1,2,3]]) )
# 2
Run Code Online (Sandbox Code Playgroud) 我在Windows 7的pycharm IDE中使用python 3.5.2,我在导入nltk包时遇到问题.
import nltk
Run Code Online (Sandbox Code Playgroud)
给出以下错误:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.2.3\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs)
File "C:\Python\nltk practice.py", line 7, in <module> from nltk.tokenize import sent_tokenize, word_tokenize
File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.2.3\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs)
ImportError: No module named 'nltk.tokenize'; 'nltk' is not a package
Run Code Online (Sandbox Code Playgroud)
nltk似乎已正确安装.当我在终端中运行以下内容时
pip install nltk
Run Code Online (Sandbox Code Playgroud)
我明白了:
Requirement already satisfied …Run Code Online (Sandbox Code Playgroud) 同一应用程序的多个用户是否可以更改同一组反应值?
这个问题(在R Shiny应用程序中同时处理多个用户)表明,在不同会话中的多个用户可以对同一值进行更改(通过在外部声明server()并使用<<-代替<-),但这仅适用于简单的旧值/变量。电抗值可能吗?
理想情况下,我希望用户A所做的更改能够立即反映在用户B查看的某些输出中。
我在python中有一个一般的调试问题(如果重要的话,请使用pycharm IDE)
可以说我有由2个块组成的代码:
Code block 1 (takes very long to run)
Code block 2 (where I want to debug)
Run Code Online (Sandbox Code Playgroud)
有没有办法在运行代码块1的末尾保存当前变量,以便我可以“倒退”到那些变量状态并从那里调试,而不必重新运行整个脚本来重新计算那些变量?
在 R 版本的传单中,如何获取标记被拖动到的位置的经纬度?
library(shiny)
library(leaflet)
library(tidyverse)
ui = fluidPage(
leafletOutput('map'),
textOutput('dragEndLocation')
)
server = function(input, output, session){
output$map = leaflet() %>%
addTiles() %>%
addMarkers(lat = 1,lng = 2, options = markerOptions(draggable = TRUE)
output$dragEndLocation = renderText({
???
})
}
Run Code Online (Sandbox Code Playgroud)
我在 javascript leaflet 中看到,有一个名为dragEnd您可以监听的事件,但它没有在 R leaflet 中实现。(leaflet.js - 单击时设置标记,拖动时更新位置)
这个人(如何在传单闪亮中拖动标记后更新坐标?)通过侦听input$map_marker_mouseout然后检查经纬度是否已更改,做了一个 hack-y 解决方法,但这并不理想。当您快速拖动标记时,鼠标移出会记录多次。对于这个最小的工作示例来说这不是问题,但对于我的实际应用程序来说,它希望在拖动结束后使用较慢的脚本,这使得此解决方法非常错误且缓慢。
有任何想法吗?
初学者到R,在这里闪亮!试图做一个最小的工作示例......我想检查一个无功输入值的条件.我究竟做错了什么?
library(shiny)
ui<-fluidPage(
numericInput(inputId="a", label=NULL, value=0),
textOutput(outputId="out")
)
server <- function(input, output) {
x <- reactive(input$a)
if (x() < 4)
{y<-1}
else
{y<-0}
output$out <- renderText({y})
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)
错误消息:
没有活动的反应上下文,不允许操作.(你试图做一些只能在反应式表达式或观察者内部完成的事情.)
我正在尝试创建一个新变量,该变量是先前行和列的函数。我已经在dplyr中找到了lag()函数,但它无法完全实现我想要的功能。
library(dplyr)
x = data.frame(replicate(2, sample(1:3,10,rep=TRUE)))
X1 X2
1 1 3
2 2 3
3 2 2
4 1 3
5 2 3
6 2 1
7 3 2
8 1 1
9 1 3
10 2 2
x = mutate(x, new_col = # if x2==1, then the value of x1 in the previous row,
# if x2!=1, then 0))
Run Code Online (Sandbox Code Playgroud)
我最好的尝试:
foo = function(x){
if (x==1){
return(lag(X1))
}else{
return(0)
}
x = mutate(x, new_col=foo(X1))
Run Code Online (Sandbox Code Playgroud) 我想以闪亮的方式更改 selectInput() 小部件的大小。我知道它基于 selectize.js,所以我尝试修改此页面上的每个属性(https://github.com/selectize/selectize.js/blob/master/dist/css/selectize.css)
并且无法弄清楚哪个控制高度。但我不知道 CSS 或 javascript。有什么建议?
最小的例子:
library(shiny)
ui <- fluidPage(
fluidRow(
actionButton('play_but', 'Play', style='height: 20px; font-size: 10px; padding: 1px 1px;'),
actionButton('pause_but', 'Pause', style='height: 20px; font-size: 10px; padding: 1px 1px;'),
selectInput("speed", label=NULL, choices = list("1" = 1, "2" = 2), selected = 1),
tags$head(tags$style(HTML(".selectize-input {max-height: 5px !important; font-size: 10px; padding: 1px 1px; box-sizing: content-box;}"))),
tags$head(tags$style(HTML(".selectize-input input {line-height: 10px;}"))),
tags$head(tags$style(HTML(".selectize-dropdown-content {font-size: 10px; }")))
)
)
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
产生:
我是 Python 和面向对象编程的新手,有一个非常基本的 101 问题:
我看到一些方法返回一个修改过的对象,并保留原来的:
In: x="hello"
In: x.upper()
Out: 'HELLO'
In: x
Out: 'hello'
Run Code Online (Sandbox Code Playgroud)
我看到其他方法修改和覆盖原始对象:
In: y=[1,2,3]
In: y.pop(0)
Out: 1
In: y
Out: [2, 3]
Run Code Online (Sandbox Code Playgroud)
这两个是常态吗?有没有办法知道我正在为给定的类和方法处理哪种情况?
python functional-programming conventions mutable immutability
我刚刚发现R无法做一些我认为非常直观的事情.作为一个初学者试图深入了解R,有人可以解释为什么R无法做到这一点吗?
x = c(1,2,3,4,5,6)
y=3
x[4:6]
# 4 5 6 as expected
x[y+1:y+3]
# NA NA NA unintuitive to me
Run Code Online (Sandbox Code Playgroud) 我想按照以下说明在我的闪亮应用程序中包含一个本地图像文件:
但是,由于某种原因,我的IT网络安全性阻止了R读取该图像。
read.csv()未被阻止。我不知道内部执行了哪些子例程,img(src())但是我的网络不喜欢它。有其他方法可以将图像嵌入闪亮的应用程序ui中吗?