Methods
| as_date |
Parse a string and return a date. |
| as_timestamp |
Parse a string and return a timestamp. |
| ascii_str |
Return the numeric ASCII code of the first character of a string. |
| authority |
Parse a URL and extract authority. |
| capitalize |
Uppercase the first letter, lowercase the rest. |
| concat |
Concatenate strings. |
| contains |
Return whether the expression contains substr. |
| convert_base |
Convert a string representing an integer from one base to another. |
| endswith |
Determine if self ends with end. |
| file |
Parse a URL and extract file. |
| find |
Return the position of the first occurrence of substring. |
| find_in_set |
Find the first occurrence of str_list within a list of strings. |
| fragment |
Parse a URL and extract fragment identifier. |
| hashbytes |
Compute the binary hash value of the input. |
| hexdigest |
Return the hash digest of the input as a hex encoded string. |
| host |
Parse a URL and extract host. |
| ilike |
Match patterns against self, case-insensitive. |
| initcap |
Deprecated. Use capitalize instead. |
| join |
Join a list of strings using self as the separator. |
| left |
Return the nchars left-most characters. |
| length |
Compute the length of a string. |
| levenshtein |
Return the Levenshtein distance between two strings. |
| like |
Match patterns against self, case-sensitive. |
| lower |
Convert string to all lowercase. |
| lpad |
Pad arg by truncating on the right or padding on the left. |
| lstrip |
Remove whitespace from the left side of string. |
| path |
Parse a URL and extract path. |
| protocol |
Parse a URL and extract protocol. |
| query |
Parse a URL and returns query string or query string parameter. |
| re_extract |
Return the specified match at index from a regex pattern. |
| re_replace |
Replace all matches found by regex pattern with replacement. |
| re_search |
Return whether the values match pattern. |
| re_split |
Split a string by a regular expression pattern. |
| repeat |
Repeat a string n times. |
| replace |
Replace each exact match of pattern with replacement. |
| reverse |
Reverse the characters of a string. |
| right |
Return up to nchars from the end of each string. |
| rpad |
Pad self by truncating or padding on the right. |
| rstrip |
Remove whitespace from the right side of string. |
| split |
Split as string on delimiter. |
| startswith |
Determine whether self starts with start. |
| strip |
Remove whitespace from left and right sides of a string. |
| substr |
Extract a substring. |
| translate |
Replace from_str characters in self characters in to_str. |
| upper |
Convert string to all uppercase. |
| userinfo |
Parse a URL and extract user info. |
as_date
Parse a string and return a date.
Parameters
| format_str |
str |
Format string in strptime format |
required |
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"ts": ["20170206"]})
>>> t.ts.as_date("%Y%m%d")
as_timestamp
Parse a string and return a timestamp.
Parameters
| format_str |
str |
Format string in strptime format |
required |
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"ts": ["20170206"]})
>>> t.ts.as_timestamp("%Y%m%d")
ascii_str
Return the numeric ASCII code of the first character of a string.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["abc", "def", "ghi"]})
>>> t.s.ascii_str()
authority
Parse a URL and extract authority.
Examples
>>> import ibis
>>> url = ibis.literal("https://user:pass@example.com:80/docs/books")
>>> result = url.authority() # user:pass@example.com:80
capitalize
Uppercase the first letter, lowercase the rest.
This API matches the semantics of the Python method.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["aBC", " abc", "ab cd", None]})
>>> t.s.capitalize()
concat
Concatenate strings.
NULLs are propagated. This methods is equivalent to using the + operator.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["abc", None]})
>>> t.s.concat("xyz", "123")
contains
Return whether the expression contains substr.
Returns
|
BooleanValue |
Boolean indicating the presence of substr in the expression |
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["bab", "ddd", "eaf"]})
>>> t.s.contains("a")
convert_base
convert_base(from_base, to_base)
Convert a string representing an integer from one base to another.
endswith
Determine if self ends with end.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["Ibis project", "GitHub"]})
>>> t.s.endswith("project")
file
Parse a URL and extract file.
Examples
>>> import ibis
>>> url = ibis.literal(
... "https://example.com:80/docs/books/tutorial/index.html?name=networking"
... )
>>> result = url.file() # docs/books/tutorial/index.html?name=networking
find
find(substr, start=None, end=None)
Return the position of the first occurrence of substring.
Parameters
| substr |
str | StringValue |
Substring to search for |
required |
| start |
int | ir.IntegerValue | None |
Zero based index of where to start the search |
None |
| end |
int | ir.IntegerValue | None |
Zero based index of where to stop the search. Currently not implemented. |
None |
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["abc", "bac", "bca"]})
>>> t.s.find("a")
find_in_set
Find the first occurrence of str_list within a list of strings.
No string in str_list can have a comma.
Returns
|
IntegerValue |
Position of str_list in self. Returns -1 if self isn’t found or if self contains ','. |
Examples
>>> import ibis
>>> table = ibis.table(dict(string_col="string"))
>>> result = table.string_col.find_in_set(["a", "b"])
fragment
Parse a URL and extract fragment identifier.
Examples
>>> import ibis
>>> url = ibis.literal("https://example.com:80/docs/#DOWNLOADING")
>>> result = url.fragment() # DOWNLOADING
hashbytes
Compute the binary hash value of the input.
Parameters
| how |
Literal['md5', 'sha1', 'sha256', 'sha512'] |
Hash algorithm to use |
'sha256' |
hexdigest
Return the hash digest of the input as a hex encoded string.
Parameters
| how |
Literal['md5', 'sha1', 'sha256', 'sha512'] |
Hash algorithm to use |
'sha256' |
Returns
|
StringValue |
Hexadecimal representation of the hash as a string |
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"species": ["Adelie", "Chinstrap", "Gentoo"]})
>>> t.species.hexdigest()
host
Parse a URL and extract host.
Examples
>>> import ibis
>>> url = ibis.literal("https://user:pass@example.com:80/docs/books")
>>> result = url.host() # example.com
ilike
Match patterns against self, case-insensitive.
This function is modeled after SQL’s ILIKE directive. Use % as a multiple-character wildcard or _ as a single-character wildcard.
Use re_search or rlike for regular expression-based matching.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["Ibis project", "GitHub"]})
>>> t.s.ilike("%PROJect")
initcap
Deprecated. Use capitalize instead.
join
Join a list of strings using self as the separator.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"arr": [["a", "b", "c"], None, [], ["b", None]]})
>>> t
>>> ibis.literal("|").join(t.arr)
left
Return the nchars left-most characters.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["abc", "defg", "hijlk"]})
>>> t.s.left(2)
length
Compute the length of a string.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["aaa", "a", "aa"]})
>>> t.s.length()
levenshtein
Return the Levenshtein distance between two strings.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> s = ibis.literal("kitten")
>>> s.levenshtein("sitting")
like
Match patterns against self, case-sensitive.
This function is modeled after the SQL LIKE directive. Use % as a multiple-character wildcard or _ as a single-character wildcard.
Use re_search or rlike for regular expression-based matching.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["Ibis project", "GitHub"]})
>>> t.s.like("%project")
lower
Convert string to all lowercase.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["AAA", "a", "AA"]})
>>> t
lpad
Pad arg by truncating on the right or padding on the left.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["abc", "def", "ghij"]})
>>> t.s.lpad(5, "-")
lstrip
Remove whitespace from the left side of string.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["\ta\t", "\nb\n", "\vc\t"]})
>>> t
path
Parse a URL and extract path.
Examples
>>> import ibis
>>> url = ibis.literal(
... "https://example.com:80/docs/books/tutorial/index.html?name=networking"
... )
>>> result = url.path() # docs/books/tutorial/index.html
protocol
Parse a URL and extract protocol.
Examples
>>> import ibis
>>> url = ibis.literal("https://user:pass@example.com:80/docs/books")
>>> result = url.protocol() # https
query
Parse a URL and returns query string or query string parameter.
If key is passed, return the value of the query string parameter named. If key is absent, return the query string.
Examples
>>> import ibis
>>> url = ibis.literal(
... "https://example.com:80/docs/books/tutorial/index.html?name=networking"
... )
>>> result = url.query() # name=networking
>>> query_name = url.query("name") # networking
re_replace
re_replace(pattern, replacement)
Replace all matches found by regex pattern with replacement.
Parameters
| pattern |
str | StringValue |
Regular expression string |
required |
| replacement |
str | StringValue |
Replacement string or regular expression |
required |
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["abc", "bac", "bca", "this has multi \t whitespace"]})
>>> s = t.s
Replace all “a”s that are at the beginning of the string with “b”:
>>> s.re_replace("^a", "b")
Double up any “a”s or “b”s, using capture groups and backreferences:
>>> s.re_replace("([ab])", r"\0\0")
Normalize all whitespace to a single space:
>>> s.re_replace(r"\s+", " ")
re_search
Return whether the values match pattern.
Returns True if the regex matches a string and False otherwise.
Parameters
| pattern |
str | StringValue |
Regular expression use for searching |
required |
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["Ibis project", "GitHub"]})
>>> t.s.re_search(".+Hub")
re_split
Split a string by a regular expression pattern.
Parameters
| pattern |
str | StringValue |
Regular expression string to split by |
required |
Returns
|
ArrayValue |
Array of strings from splitting by pattern |
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable(dict(s=["a.b", "b.....c", "c.........a", "def"]))
>>> t.s
>>> t.s.re_split(r"\.+").name("splits")
repeat
Repeat a string n times.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["a", "bb", "c"]})
>>> t.s.repeat(5)
replace
replace(pattern, replacement)
Replace each exact match of pattern with replacement.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["abc", "bac", "bca"]})
>>> t.s.replace("b", "z")
reverse
Reverse the characters of a string.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["abc", "def", "ghi"]})
>>> t
right
Return up to nchars from the end of each string.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["abc", "defg", "hijlk"]})
>>> t.s.right(2)
rpad
Pad self by truncating or padding on the right.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["abc", "def", "ghij"]})
>>> t.s.rpad(5, "-")
rstrip
Remove whitespace from the right side of string.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["\ta\t", "\nb\n", "\vc\t"]})
>>> t
split
Split as string on delimiter.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"col": ["a,b,c", "d,e", "f"]})
>>> t
startswith
Determine whether self starts with start.
Returns
|
BooleanValue |
Boolean indicating whether self starts with start |
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["Ibis project", "GitHub"]})
>>> t.s.startswith("Ibis")
strip
Remove whitespace from left and right sides of a string.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["\ta\t", "\nb\n", "\vc\t"]})
>>> t
substr
substr(start, length=None)
Extract a substring.
Parameters
| start |
int | ir.IntegerValue |
First character to start splitting, indices start at 0 |
required |
| length |
int | ir.IntegerValue | None |
Maximum length of each substring. If not supplied, searches the entire string |
None |
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["abc", "defg", "hijlk"]})
>>> t.s.substr(2)
translate
translate(from_str, to_str)
Replace from_str characters in self characters in to_str.
To avoid unexpected behavior, from_str should be shorter than to_str.
Parameters
| from_str |
StringValue |
Characters in arg to replace |
required |
| to_str |
StringValue |
Characters to use for replacement |
required |
Examples
>>> import ibis
>>> table = ibis.table(dict(string_col="string"))
>>> result = table.string_col.translate("a", "b")
upper
Convert string to all uppercase.
Examples
>>> import ibis
>>> ibis.options.interactive = True
>>> t = ibis.memtable({"s": ["aaa", "A", "aa"]})
>>> t
userinfo
Parse a URL and extract user info.
Examples
>>> import ibis
>>> url = ibis.literal("https://user:pass@example.com:80/docs/books")
>>> result = url.userinfo() # user:pass