簡體   English   中英

Python data.table 行過濾器正則表達式

[英]Python data.table row filter by regex

相當於 %like% 的 python 的 data.table 是什么?

簡短示例:

dt_foo_bar = dt.Frame({"n": [1, 3], "s": ["foo", "bar"]})  
dt_foo_bar[re.match("foo",f.s),:] #works to filter by "foo"

我原以為這樣的事情會起作用:

dt_foo_bar[re.match("fo",f.s),:] 

但它返回“預期的字符串或類似字節的對象”。 我很想開始在 Python 中使用新的 data.tables 包,就像我在 R 中使用它的方式一樣,但我更多地處理文本數據而不是數字數據。

提前致謝。

從 0.9.0 版本開始,數據表包含執行正則表達式過濾的函數.re_match() 例如:

>>> import datatable as dt
>>> dt_foo_bar = dt.Frame(N=[1, 3, 5], S=["foo", "bar", "fox"])
>>> dt_foo_bar[dt.f.S.re_match("fo."), :]
     N  S  
--  --  ---
 0   1  foo
 1   5  fox

[2 rows x 2 columns]

通常, .re_match()應用於列表達式並生成一個新的布爾列,指示每個值是否與給定的正則表達式匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM