[英]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.