小编gab*_*n86的帖子

使用isin排除过滤pyspark数据帧

我试图获取数据框中的所有行,其中列值不在列表中(因此通过排除进行过滤).

举个例子:

df = sqlContext.createDataFrame([('1','a'),('2','b'),('3','b'),('4','c'),('5','d')]
,schema=('id','bar'))
Run Code Online (Sandbox Code Playgroud)

我得到了数据框:

+---+---+
| id|bar|
+---+---+
|  1|  a|
|  2|  b|
|  3|  b|
|  4|  c|
|  5|  d|
+---+---+
Run Code Online (Sandbox Code Playgroud)

我只想排除bar所在的行('a'或'b').

使用SQL表达式字符串,它将是:

df.filter('bar not in ("a","b")').show()
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用SQL表达式的字符串或一次排除一个项目的情况下执行此操作?

编辑:

我可能有一个列表,['a','b'],我想要使用的排除值.

python apache-spark pyspark pyspark-sql

21
推荐指数
4
解决办法
7万
查看次数

从data.frame设置闪亮的selectInput

我想使用数据框在selectInput中设置选项.下面我有一个工作的例子,这给出了选项"Peter","Bill"和"Bob",但我希望这些是标签,并设置L1Data $ ID_1的值.通常使用以下代码编写的东西:

    selectInput("partnerName", "Select your choice",  c("Peter" = "15","Bob" = "25","Bill" = "30" ) )
Run Code Online (Sandbox Code Playgroud)

有关获得此功能的任何建议吗?

ui.R

library(shiny)
shinyUI(pageWithSidebar(
  headerPanel("Test App"),
  sidebarPanel(
  sliderInput("obs", "Number of observations:", min = 1, max = 1000, value = 500),

  htmlOutput("selectUI")
  ),
 mainPanel(
    plotOutput("distPlot")
  )
))
Run Code Online (Sandbox Code Playgroud)

server.R

library(shiny)
ID_1 <- c(15,25,30,30)
Desc_1 <- c("Peter","Bob","Bill","Bill")
L1Data <- data.frame(ID_1,Desc_1)
shinyServer(function(input, output) {
  output$distPlot <- renderPlot({
    dist <- rnorm(input$obs)
    hist(dist)
  })
  output$selectUI <- renderUI({ 
    selectInput("partnerName", "Select your choice",  unique(L1Data$Desc_1) )
    })
})
Run Code Online (Sandbox Code Playgroud)

r shiny

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

标签 统计

apache-spark ×1

pyspark ×1

pyspark-sql ×1

python ×1

r ×1

shiny ×1