小编Was*_*amo的帖子

ArrowInvalid:GetFileInfo() 生成的路径位于基本目录镶木地板之外

我的 S3 存储桶中存储了一个镶木地板数据集,其中包含多个分区文件。我想将其读入我的 pandas 数据帧,但是当我以前没有这样做时,我收到了这个 ArrowInvalid 错误。

有时,这些数据会被之前的 pandas 数据快照覆盖,如下所示:

import pandas as pd  # version 1.3.4
# pyarrow version 5.0

df.to_parquet(
    f's3a://{bucket_and_prefix}',
    storage_options={
        "key"          : os.getenv("AWS_ACCESS_KEY_ID"),
        "secret"       : os.getenv("AWS_SECRET_ACCESS_KEY"),
        "client_kwargs": {
            'verify'      : os.getenv('AWS_CA_BUNDLE'),
            'endpoint_url': 'https://prd-data.company.com/'
        }
    },
    index=False
)
Run Code Online (Sandbox Code Playgroud)

但是当阅读它时:

df = pd.read_parquet(
    f"s3a://{bucket_and_prefix}",
    storage_options={
        "key"          : os.getenv("AWS_ACCESS_KEY_ID"),
        "secret"       : os.getenv("AWS_SECRET_ACCESS_KEY"),
        "client_kwargs": {
            'verify'      : os.getenv('AWS_CA_BUNDLE'),
            'endpoint_url': 'https://prd-data.company.com/'
        }
    }
)
Run Code Online (Sandbox Code Playgroud)

它失败并出现错误:

ArrowInvalid:GetFileInfo() 产生路径“bucket/folder/data.parquet/year=2021/month=2/abcde.parquet”,位于基本目录“s3://bucket/folder/data.parquet”之外

知道为什么会发生这个 ArrowInvalid 错误以及如何将镶木地板数据读入 pandas 吗?

python pandas parquet pyarrow

8
推荐指数
0
解决办法
4032
查看次数

Protege 中复杂类的推理

我想做出如下推论,比如图中灰色虚线代表的属性:

羽衣甘蓝与梨很相配,因为它的味道很苦,可以补充梨的甜味

我断言了一个普遍的公理:

(hasTaste some Bitter) SubClassOf: goesWellWith some (hasTaste some Sweet)
Run Code Online (Sandbox Code Playgroud)

其中“bitter”是“Bitter”类型,“sweet”是“Sweet”类型。

我认为 owl:someValuesFrom (或曼彻斯特的“some”)意味着至少必须存在一个这样的关系。然而,在做出大胆的图表断言和一般公理之后,这种情况并没有发生。

我怎样才能做到这一点?

编辑(编辑2,我明白了)

我只是想到了一个可以用的超级房产链!我只是指定

hasTaste o complements o isTasteOf
Run Code Online (Sandbox Code Playgroud)

作为gosWellWith的超级地产链。事实上,通过制作 hasTaste、hasTexture 等...通用 hasTrait 的所有子属性然后我可以分别用 hasTaste 和 isTraitOf 替换 hasTaste 和 isTasteOf :

hasTrait o complements o isTraitOf
Run Code Online (Sandbox Code Playgroud)

结果捕捉到了彼此互补的食品特性的每一种排列。

在此输入图像描述

rdf semantic-web owl rdfs protege

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

Google 表单中的多项选择下拉列表

我想在 Google 表单中创建一个下拉列表,允许用户从列表项中选择多个选项。之后,我希望将结果输出到逗号分隔列表中的单个单元格。我在此处了解如何在 Google 表格中进行多项选择,但想知道如何在 Google 表单中执行此操作。

google-forms

5
推荐指数
0
解决办法
3379
查看次数

在 R 中卸载/分离所有加载的命名空间和附加包

我遇到了全局范围被附加包 ( sessionInfo()$otherPkgs) 和命名空间 (loadedNamespaces() )。所以我想在我的脚本开始时清除它们。

在这个线程中解决了一半的问题。这个问题的主要区别在于我想卸载命名空间,而不仅仅是分离包。pacman 也很有趣,但似乎也不起作用。

library(dbplyr)
names(sessionInfo()$otherPkgs)
lapply(paste("package:", names(sessionInfo()$otherPkgs), sep=""), 
   detach, character.only = TRUE, unload = TRUE)
# `dbplyr` is detached
names(sessionInfo()$otherPkgs)
Run Code Online (Sandbox Code Playgroud)

但是卸载已加载命名空间的类似方法似乎更具挑战性,因为必须首先卸载依赖于其他名称的包。

这是我的尝试:

# Recursive unload which checks for reverse dependencies (children) along the way
# and unloads them first
myunload <- function(pkg) {
    # Get child (reverse-dependent) packages that have loaded namespaces
    child_pkgs <- unlist(tools::dependsOnPkgs(pkg, which = c("Depends", "Imports"), reverse = T))
    child_pkgs <- child_pkgs[which(child_pkgs %in% loadedNamespaces())]
    # Recursively …
Run Code Online (Sandbox Code Playgroud)

namespaces r package

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

如何在 R Shiny App 中使用 LDAP 进行身份验证

我的公司使用 LDAP 服务器对 Active Directory 进行身份验证。我需要使用它对远程托管的 Shiny 应用程序的用户进行身份验证。我设法在 Python 中进行了身份验证,但需要将其移植到 R:

import ldap
from getpass import getpass
username = "user_name"
password = getpass(prompt='Password: ', stream=None)
ldap_server = "ldap://company-ldap-server:636"

try:
    # Create connection with LDAP server and set options
    conn = ldap.initialize(ldap_server)
    conn.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
    conn.set_option(ldap.OPT_X_TLS_NEWCTX, 0)

    # Authenticate by trying to connect
    conn.simple_bind_s(username, password)

    # Retrieve this user's name and email (for authorization)
    info = conn.search_s("DC=ad,DC=company,DC=com", ldap.SCOPE_SUBTREE, f"cn={username}*")
    conn.unbind_s()

except Exception:
    print("ERROR: Could not connect")
Run Code Online (Sandbox Code Playgroud)

这是我在 R 中尝试过的:

library(RCurl)

ldap_server <- …
Run Code Online (Sandbox Code Playgroud)

python r ldap shiny

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

VS Code“查找所有引用”无法忽略排除的文件

突出显示一个符号,右键单击 --> 查找所有引用(或转到引用)会弹出一个窗格,其中包含我工作区中每个文件中该符号的所有用法。不幸的是,这包括.ipynb_checkpoints/*文件和其他内容,因此很难梳理结果。

按照这个答案,我__pycache__通过添加**/__pycache__到文件成功删除了文件:在我的用户设置中排除。但是在那里添加**/.ipynb_checkpoints/**(和类似的全局变量),也没有添加到“文件:观察者排除”中没有任何作用。还在我的远程 ssh 设置和工作区设置中尝试了此设置。

有人知道如何过滤这些参考文献吗?仅供参考,我在 Windows 10 上运行 VS code 1.62.2,我配置的远程 SSH python 可执行文件是 conda 环境中的 Python 版本 3.7。

python visual-studio-code

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