小编Chr*_*ley的帖子

如何为Pandas数据帧实现'in'和'not in'

我怎样才能实现SQL的的等价物INNOT IN

我有一个包含所需值的列表.这是场景:

df = pd.DataFrame({'countries':['US','UK','Germany','China']})
countries = ['UK','China']

# pseudo-code:
df[df['countries'] not in countries]
Run Code Online (Sandbox Code Playgroud)

我目前的做法如下:

df = pd.DataFrame({'countries':['US','UK','Germany','China']})
countries = pd.DataFrame({'countries':['UK','China'], 'matched':True})

# IN
df.merge(countries,how='inner',on='countries')

# NOT IN
not_in = df.merge(countries,how='left',on='countries')
not_in = not_in[pd.isnull(not_in['matched'])]
Run Code Online (Sandbox Code Playgroud)

但这似乎是一个可怕的kludge.任何人都可以改进吗?

python sql-function dataframe pandas

353
推荐指数
9
解决办法
34万
查看次数

Plumber API 在服务器上工作,但在我使用 systemd 设置时不起作用

因此,如果我手动运行管道工命令,我有一个可以在本地和服务器上正常工作的 API,我的意思是在服务器中 ssh-ing 并运行:

r <- plumb("plumber.R")
r$run(port=8000, host = "0.0.0.0")
Run Code Online (Sandbox Code Playgroud)

它看起来像这样:

#* @serializer contentType list(type="application/html")
#* @get /test
function(res){

  include_rmd("test.Rmd", res)

}

#* Echo the parameter that was sent in
#* @param msg The message to echo back.
#* @get /echo
function(msg=""){
  list(msg = paste0("The message is: '", msg, "'"))
}
Run Code Online (Sandbox Code Playgroud)

他们都没有问题。但是当我使用 systemd 使它们在服务器上保持活动状态时,只有 /echo 有效。另一个只是说“发生异常”。

systemd 设置如下所示:

[Unit]
Description=Plumber API
# After=postgresql
# (or mariadb, mysql, etc if you use a DB with Plumber, otherwise leave this commented) …
Run Code Online (Sandbox Code Playgroud)

plumber

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

在闪亮模式中访问数据表中的行点击

这是从这里交叉发布的(https://community.rstudio.com/t/accessing-row-clicks-in-data-table-in-modal/8961),尚未回复。

我正在模式内使用 Shiny 中的 DT 包绘制数据表。这对于我的 UI 来说非常有用,但我希望用户能够单击它并访问他们单击的行。通常的 input$tablename_rows_clicked 不起作用,因为它在 UI 中没有给出一个插槽。

有没有一种聪明的 DT 类型的方法来做到这一点?或者是否有一种聪明的 JavaScript 方法?有人有什么建议吗?

谢谢!

shiny dt

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

标签 统计

dataframe ×1

dt ×1

pandas ×1

plumber ×1

python ×1

shiny ×1

sql-function ×1