python 中的 grepl 函数

grepl function in python

我想重新创建一个从 R 到 Python 的片段代码。我有来自 R 的小标题(Python 中的数据框),它看起来像这样:

column1       column2                                 column3
amsterdam     het dag calamiteit bij doen gratis dag  2013
rotterdam     blijdorp groet gratis burp het ik ben   2015

使用下面的代码,我尝试将描述提取为单个字符串。 这是代码:

#R code
for (i in 1:nrow(tibble)) {
    des <- pull(tibble[i,2])
}

#Python code
for i in df:    
    des = df['column2'].str.split(expand=True).stack()

然后 des 的系列(我们从 df['column'] 得到)在 python 中看起来像这样:

het
dag
calamiteit
bij
doen
gratis
dag
blijdorp
groet
burp
het
ik
ben

但是,然后我想将此代码从 R 重新创建为 Python,但我不知道该怎么做:

if (grepl("^\s*$", des) == TRUE) { # if description is only whitespace then skip
    trns <- tibble(translatedText = "", detectedSourceLanguage = "", text = "")

尤其是 grepl 函数。

它在Python中等于什么?重现它的最佳 Python 代码是什么?谢谢

几乎完全等同于 grepl 的是 re.match。 看这个小例子:

import re
data = ["00het", "dags"]

matches = [re.match(r"\d{2}", str_) for str_ in data]

虽然第一个字符串匹配,但另一个字符串是 None,因为其中没有两位数。 我希望这可能是您将表达式从 R 翻译成 python

的一个很好的起点

我完美地从上面重新创建了 R 脚本。这是 Python 代码:

 if [re.match(r'^\s*$', i) for i in des]:
        trns = i

所以如果我有一系列这样的字符串:

root
wit
geel

with
asd

goed
black
red

然后在我 运行 它与 if 语句之后,我会得到这样的结果:

[None,
None,
None,
None,
None,
None,
<re.Match object; span=(0, 1), match=' '>,
None,
<re.Match object; span=(0, 0), match=''>,
<re.Match object; span=(0, 1), match=' '>]