Class: Polars::StringExpr
- Inherits:
-
Object
- Object
- Polars::StringExpr
- Defined in:
- lib/polars/string_expr.rb
Overview
Namespace for string related expressions.
Instance Method Summary collapse
-
#contains(pattern, literal: false, strict: true) ⇒ Expr
Check if string contains a substring that matches a regex.
-
#contains_any(patterns, ascii_case_insensitive: false) ⇒ Expr
Use the aho-corasick algorithm to find matches.
-
#count_matches(pattern, literal: false) ⇒ Expr
(also: #count_match)
Count all successive non-overlapping regex matches.
-
#decode(encoding, strict: true) ⇒ Expr
Decode a value using the provided encoding.
-
#encode(encoding) ⇒ Expr
Encode a value using the provided encoding.
-
#ends_with(sub) ⇒ Expr
Check if string values end with a substring.
-
#escape_regex ⇒ Expr
Returns string values with all regular expression meta characters escaped.
-
#extract(pattern, group_index: 1) ⇒ Expr
Extract the target capture group from provided patterns.
-
#extract_all(pattern) ⇒ Expr
Extracts all matches for the given regex pattern.
-
#extract_groups(pattern) ⇒ Expr
Extract all capture groups for the given regex pattern.
-
#extract_many(patterns, ascii_case_insensitive: false, overlapping: false) ⇒ Expr
Use the Aho-Corasick algorithm to extract many matches.
-
#find(pattern, literal: false, strict: true) ⇒ Expr
Return the bytes offset of the first substring matching a pattern.
-
#find_many(patterns, ascii_case_insensitive: false, overlapping: false) ⇒ Expr
Use the Aho-Corasick algorithm to find many matches.
-
#head(n) ⇒ Expr
Return the first n characters of each string in a String Series.
-
#join(delimiter = "-", ignore_nulls: true) ⇒ Expr
(also: #concat)
Vertically concat the values in the Series to a single string value.
-
#json_decode(dtype, infer_schema_length: nil) ⇒ Expr
(also: #json_extract)
Parse string values as JSON.
-
#json_path_match(json_path) ⇒ Expr
Extract the first match of json string with provided JSONPath expression.
-
#len_bytes ⇒ Expr
(also: #lengths)
Get length of the strings as
:u32(as number of bytes). -
#len_chars ⇒ Expr
(also: #n_chars)
Get length of the strings as
:u32(as number of chars). -
#normalize(form = "NFC") ⇒ Expr
Returns the Unicode normal form of the string values.
-
#pad_end(length, fill_char = " ") ⇒ Expr
(also: #ljust)
Pad the end of the string until it reaches the given length.
-
#pad_start(length, fill_char = " ") ⇒ Expr
(also: #rjust)
Pad the start of the string until it reaches the given length.
-
#parse_int(radix = 2, strict: true) ⇒ Expr
Parse integers with base radix from strings.
-
#replace(pattern, value, literal: false, n: 1) ⇒ Expr
Replace first matching regex/literal substring with a new string value.
-
#replace_all(pattern, value, literal: false) ⇒ Expr
Replace all matching regex/literal substrings with a new string value.
-
#replace_many(patterns, replace_with = Expr::NO_DEFAULT, ascii_case_insensitive: false) ⇒ Expr
Use the aho-corasick algorithm to replace many matches.
-
#reverse ⇒ Expr
Returns string values in reversed order.
-
#slice(offset, length = nil) ⇒ Expr
Create subslices of the string values of a Utf8 Series.
-
#split(by, inclusive: false) ⇒ Expr
Split the string by a substring.
-
#split_exact(by, n, inclusive: false) ⇒ Expr
Split the string by a substring using
nsplits. -
#splitn(by, n) ⇒ Expr
Split the string by a substring, restricted to returning at most
nitems. -
#starts_with(sub) ⇒ Expr
Check if string values start with a substring.
-
#strip_chars(characters = nil) ⇒ Expr
(also: #strip)
Remove leading and trailing whitespace.
-
#strip_chars_end(characters = nil) ⇒ Expr
(also: #rstrip)
Remove trailing whitespace.
-
#strip_chars_start(characters = nil) ⇒ Expr
(also: #lstrip)
Remove leading whitespace.
-
#strip_prefix(prefix) ⇒ Expr
Remove prefix.
-
#strip_suffix(suffix) ⇒ Expr
Remove suffix.
-
#strptime(dtype, format = nil, strict: true, exact: true, cache: true, utc: false) ⇒ Expr
Parse a Utf8 expression to a Date/Datetime/Time type.
-
#tail(n) ⇒ Expr
Return the last n characters of each string in a String Series.
-
#to_date(format = nil, strict: true, exact: true, cache: true) ⇒ Expr
Convert a Utf8 column into a Date column.
-
#to_datetime(format = nil, time_unit: nil, time_zone: nil, strict: true, exact: true, cache: true, ambiguous: "raise") ⇒ Expr
Convert a Utf8 column into a Datetime column.
-
#to_decimal(scale:) ⇒ Expr
Convert a String column into a Decimal column.
-
#to_integer(base: 10, dtype: Int64, strict: true) ⇒ Expr
Convert an Utf8 column into an Int64 column with base radix.
-
#to_lowercase ⇒ Expr
Transform to lowercase variant.
-
#to_time(format = nil, strict: true, cache: true) ⇒ Expr
Convert a Utf8 column into a Time column.
-
#to_titlecase ⇒ Expr
Transform to titlecase variant.
-
#to_uppercase ⇒ Expr
Transform to uppercase variant.
-
#zfill(length) ⇒ Expr
Fills the string with zeroes.
Instance Method Details
#contains(pattern, literal: false, strict: true) ⇒ Expr
Check if string contains a substring that matches a regex.
768 769 770 771 |
# File 'lib/polars/string_expr.rb', line 768 def contains(pattern, literal: false, strict: true) pattern = Utils.parse_into_expression(pattern, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_contains(pattern, literal, strict)) end |
#contains_any(patterns, ascii_case_insensitive: false) ⇒ Expr
Use the aho-corasick algorithm to find matches.
This version determines if any of the patterns find a match.
1676 1677 1678 1679 1680 1681 |
# File 'lib/polars/string_expr.rb', line 1676 def contains_any(patterns, ascii_case_insensitive: false) patterns = Utils.parse_into_expression(patterns, str_as_lit: false) Utils.wrap_expr( _rbexpr.str_contains_any(patterns, ascii_case_insensitive) ) end |
#count_matches(pattern, literal: false) ⇒ Expr Also known as: count_match
Count all successive non-overlapping regex matches.
1204 1205 1206 1207 |
# File 'lib/polars/string_expr.rb', line 1204 def count_matches(pattern, literal: false) pattern = Utils.parse_into_expression(pattern, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_count_matches(pattern, literal)) end |
#decode(encoding, strict: true) ⇒ Expr
Decode a value using the provided encoding.
1016 1017 1018 1019 1020 1021 1022 1023 1024 |
# File 'lib/polars/string_expr.rb', line 1016 def decode(encoding, strict: true) if encoding == "hex" Utils.wrap_expr(_rbexpr.str_hex_decode(strict)) elsif encoding == "base64" Utils.wrap_expr(_rbexpr.str_base64_decode(strict)) else raise ArgumentError, "encoding must be one of {{'hex', 'base64'}}, got #{encoding}" end end |
#encode(encoding) ⇒ Expr
Encode a value using the provided encoding.
1047 1048 1049 1050 1051 1052 1053 1054 1055 |
# File 'lib/polars/string_expr.rb', line 1047 def encode(encoding) if encoding == "hex" Utils.wrap_expr(_rbexpr.str_hex_encode) elsif encoding == "base64" Utils.wrap_expr(_rbexpr.str_base64_encode) else raise ArgumentError, "encoding must be one of {{'hex', 'base64'}}, got #{encoding}" end end |
#ends_with(sub) ⇒ Expr
Check if string values end with a substring.
870 871 872 873 |
# File 'lib/polars/string_expr.rb', line 870 def ends_with(sub) sub = Utils.parse_into_expression(sub, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_ends_with(sub)) end |
#escape_regex ⇒ Expr
Returns string values with all regular expression meta characters escaped.
388 389 390 |
# File 'lib/polars/string_expr.rb', line 388 def escape_regex Utils.wrap_expr(_rbexpr.str_escape_regex) end |
#extract(pattern, group_index: 1) ⇒ Expr
Extract the target capture group from provided patterns.
1085 1086 1087 1088 |
# File 'lib/polars/string_expr.rb', line 1085 def extract(pattern, group_index: 1) pattern = Utils.parse_into_expression(pattern, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_extract(pattern, group_index)) end |
#extract_all(pattern) ⇒ Expr
Extracts all matches for the given regex pattern.
Extracts each successive non-overlapping regex match in an individual string as an array.
1117 1118 1119 1120 |
# File 'lib/polars/string_expr.rb', line 1117 def extract_all(pattern) pattern = Utils.parse_into_expression(pattern, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_extract_all(pattern)) end |
#extract_groups(pattern) ⇒ Expr
Extract all capture groups for the given regex pattern.
1174 1175 1176 |
# File 'lib/polars/string_expr.rb', line 1174 def extract_groups(pattern) Utils.wrap_expr(_rbexpr.str_extract_groups(pattern)) end |
#extract_many(patterns, ascii_case_insensitive: false, overlapping: false) ⇒ Expr
This method supports matching on string literals only, and does not support regular expression matching.
Use the Aho-Corasick algorithm to extract many matches.
1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 |
# File 'lib/polars/string_expr.rb', line 1829 def extract_many( patterns, ascii_case_insensitive: false, overlapping: false ) patterns = Utils.parse_into_expression(patterns, str_as_lit: false) Utils.wrap_expr( _rbexpr.str_extract_many(patterns, ascii_case_insensitive, overlapping) ) end |
#find(pattern, literal: false, strict: true) ⇒ Expr
To modify regular expression behaviour (such as case-sensitivity) with
flags, use the inline (?iLmsuxU) syntax.
Return the bytes offset of the first substring matching a pattern.
If the pattern is not found, returns nil.
830 831 832 833 |
# File 'lib/polars/string_expr.rb', line 830 def find(pattern, literal: false, strict: true) pattern = Utils.parse_into_expression(pattern, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_find(pattern, literal, strict)) end |
#find_many(patterns, ascii_case_insensitive: false, overlapping: false) ⇒ Expr
This method supports matching on string literals only, and does not support regular expression matching.
Use the Aho-Corasick algorithm to find many matches.
The function will return the bytes offset of the start of each match.
The return type will be List<UInt32>
1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 |
# File 'lib/polars/string_expr.rb', line 1902 def find_many( patterns, ascii_case_insensitive: false, overlapping: false ) patterns = Utils.parse_into_expression(patterns, str_as_lit: false) Utils.wrap_expr( _rbexpr.str_find_many(patterns, ascii_case_insensitive, overlapping) ) end |
#head(n) ⇒ Expr
1) The n input is defined in terms of the number of characters in the (UTF8)
string. A character is defined as a Unicode scalar value. A single
character is represented by a single byte when working with ASCII text, and a
maximum of 4 bytes otherwise.
2) When the n input is negative, head returns characters up to the nth
from the end of the string. For example, if n = -3, then all characters
except the last three are returned.
3) If the length of the string has fewer than n characters, the full string is
returned.
Return the first n characters of each string in a String Series.
1493 1494 1495 1496 |
# File 'lib/polars/string_expr.rb', line 1493 def head(n) n = Utils.parse_into_expression(n) Utils.wrap_expr(_rbexpr.str_head(n)) end |
#join(delimiter = "-", ignore_nulls: true) ⇒ Expr Also known as: concat
Vertically concat the values in the Series to a single string value.
364 365 366 |
# File 'lib/polars/string_expr.rb', line 364 def join(delimiter = "-", ignore_nulls: true) Utils.wrap_expr(_rbexpr.str_join(delimiter, ignore_nulls)) end |
#json_decode(dtype, infer_schema_length: nil) ⇒ Expr Also known as: json_extract
Parse string values as JSON.
Throw errors if encounter invalid JSON strings.
943 944 945 946 947 948 949 950 951 |
# File 'lib/polars/string_expr.rb', line 943 def json_decode(dtype, infer_schema_length: nil) if dtype.nil? msg = "`Expr.str.json_decode` needs an explicitly given `dtype` otherwise Polars is not able to determine the output type. If you want to eagerly infer datatype you can use `Series.str.json_decode`." raise TypeError, msg end dtype_expr = Utils.parse_into_datatype_expr(dtype)._rbdatatype_expr Utils.wrap_expr(_rbexpr.str_json_decode(dtype_expr)) end |
#json_path_match(json_path) ⇒ Expr
Extract the first match of json string with provided JSONPath expression.
Throw errors if encounter invalid json strings. All return value will be casted to Utf8 regardless of the original value.
Documentation on JSONPath standard can be found here.
985 986 987 988 |
# File 'lib/polars/string_expr.rb', line 985 def json_path_match(json_path) json_path = Utils.parse_into_expression(json_path, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_json_path_match(json_path)) end |
#len_bytes ⇒ Expr Also known as: lengths
The returned lengths are equal to the number of bytes in the UTF8 string. If you
need the length in terms of the number of characters, use n_chars instead.
Get length of the strings as :u32 (as number of bytes).
292 293 294 |
# File 'lib/polars/string_expr.rb', line 292 def len_bytes Utils.wrap_expr(_rbexpr.str_len_bytes) end |
#len_chars ⇒ Expr Also known as: n_chars
If you know that you are working with ASCII text, lengths will be
equivalent, and faster (returns length in terms of the number of bytes).
Get length of the strings as :u32 (as number of chars).
325 326 327 |
# File 'lib/polars/string_expr.rb', line 325 def len_chars Utils.wrap_expr(_rbexpr.str_len_chars) end |
#normalize(form = "NFC") ⇒ Expr
Returns the Unicode normal form of the string values.
This uses the forms described in Unicode Standard Annex 15: https://www.unicode.org/reports/tr15/.
430 431 432 |
# File 'lib/polars/string_expr.rb', line 430 def normalize(form = "NFC") Utils.wrap_expr(_rbexpr.str_normalize(form)) end |
#pad_end(length, fill_char = " ") ⇒ Expr Also known as: ljust
Pad the end of the string until it reaches the given length.
695 696 697 698 |
# File 'lib/polars/string_expr.rb', line 695 def pad_end(length, fill_char = " ") length = Utils.parse_into_expression(length) Utils.wrap_expr(_rbexpr.str_pad_end(length, fill_char)) end |
#pad_start(length, fill_char = " ") ⇒ Expr Also known as: rjust
Pad the start of the string until it reaches the given length.
664 665 666 667 |
# File 'lib/polars/string_expr.rb', line 664 def pad_start(length, fill_char = " ") length = Utils.parse_into_expression(length) Utils.wrap_expr(_rbexpr.str_pad_start(length, fill_char)) end |
#parse_int(radix = 2, strict: true) ⇒ Expr
Parse integers with base radix from strings.
By default base 2. ParseError/Overflows become Nulls.
1635 1636 1637 |
# File 'lib/polars/string_expr.rb', line 1635 def parse_int(radix = 2, strict: true) to_integer(base: 2, strict: strict).cast(Int32, strict: strict) end |
#replace(pattern, value, literal: false, n: 1) ⇒ Expr
Replace first matching regex/literal substring with a new string value.
1345 1346 1347 1348 1349 |
# File 'lib/polars/string_expr.rb', line 1345 def replace(pattern, value, literal: false, n: 1) pattern = Utils.parse_into_expression(pattern, str_as_lit: true) value = Utils.parse_into_expression(value, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_replace_n(pattern, value, literal, n)) end |
#replace_all(pattern, value, literal: false) ⇒ Expr
Replace all matching regex/literal substrings with a new string value.
1375 1376 1377 1378 1379 |
# File 'lib/polars/string_expr.rb', line 1375 def replace_all(pattern, value, literal: false) pattern = Utils.parse_into_expression(pattern, str_as_lit: true) value = Utils.parse_into_expression(value, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_replace_all(pattern, value, literal)) end |
#replace_many(patterns, replace_with = Expr::NO_DEFAULT, ascii_case_insensitive: false) ⇒ Expr
Use the aho-corasick algorithm to replace many matches.
1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 |
# File 'lib/polars/string_expr.rb', line 1747 def replace_many(patterns, replace_with = Expr::NO_DEFAULT, ascii_case_insensitive: false) if replace_with == Expr::NO_DEFAULT if !patterns.is_a?(Hash) msg = "`replace_with` argument is required if `patterns` argument is not a Hash type" raise TypeError, msg end # Early return in case of an empty mapping. if patterns.empty? return Utils.wrap_expr(_rbexpr) end replace_with = patterns.values patterns = patterns.keys end patterns = Utils.parse_into_expression(patterns, str_as_lit: false) replace_with = Utils.parse_into_expression(replace_with, str_as_lit: true) Utils.wrap_expr( _rbexpr.str_replace_many( patterns, replace_with, ascii_case_insensitive ) ) end |
#reverse ⇒ Expr
Returns string values in reversed order.
1399 1400 1401 |
# File 'lib/polars/string_expr.rb', line 1399 def reverse Utils.wrap_expr(_rbexpr.str_reverse) end |
#slice(offset, length = nil) ⇒ Expr
Create subslices of the string values of a Utf8 Series.
1430 1431 1432 1433 1434 |
# File 'lib/polars/string_expr.rb', line 1430 def slice(offset, length = nil) offset = Utils.parse_into_expression(offset) length = Utils.parse_into_expression(length) Utils.wrap_expr(_rbexpr.str_slice(offset, length)) end |
#split(by, inclusive: false) ⇒ Expr
Split the string by a substring.
1233 1234 1235 1236 1237 1238 1239 |
# File 'lib/polars/string_expr.rb', line 1233 def split(by, inclusive: false) by = Utils.parse_into_expression(by, str_as_lit: true) if inclusive return Utils.wrap_expr(_rbexpr.str_split_inclusive(by)) end Utils.wrap_expr(_rbexpr.str_split(by)) end |
#split_exact(by, n, inclusive: false) ⇒ Expr
Split the string by a substring using n splits.
Results in a struct of n+1 fields.
If it cannot make n splits, the remaining field elements will be null.
1275 1276 1277 1278 1279 1280 1281 1282 |
# File 'lib/polars/string_expr.rb', line 1275 def split_exact(by, n, inclusive: false) by = Utils.parse_into_expression(by, str_as_lit: true) if inclusive Utils.wrap_expr(_rbexpr.str_split_exact_inclusive(by, n)) else Utils.wrap_expr(_rbexpr.str_split_exact(by, n)) end end |
#splitn(by, n) ⇒ Expr
Split the string by a substring, restricted to returning at most n items.
If the number of possible splits is less than n-1, the remaining field
elements will be null. If the number of possible splits is n-1 or greater,
the last (nth) substring will contain the remainder of the string.
1312 1313 1314 1315 |
# File 'lib/polars/string_expr.rb', line 1312 def splitn(by, n) by = Utils.parse_into_expression(by, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_splitn(by, n)) end |
#starts_with(sub) ⇒ Expr
Check if string values start with a substring.
910 911 912 913 |
# File 'lib/polars/string_expr.rb', line 910 def starts_with(sub) sub = Utils.parse_into_expression(sub, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_starts_with(sub)) end |
#strip_chars(characters = nil) ⇒ Expr Also known as: strip
Remove leading and trailing whitespace.
520 521 522 523 |
# File 'lib/polars/string_expr.rb', line 520 def strip_chars(characters = nil) characters = Utils.parse_into_expression(characters, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_strip_chars(characters)) end |
#strip_chars_end(characters = nil) ⇒ Expr Also known as: rstrip
Remove trailing whitespace.
574 575 576 577 |
# File 'lib/polars/string_expr.rb', line 574 def strip_chars_end(characters = nil) characters = Utils.parse_into_expression(characters, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_strip_chars_end(characters)) end |
#strip_chars_start(characters = nil) ⇒ Expr Also known as: lstrip
Remove leading whitespace.
547 548 549 550 |
# File 'lib/polars/string_expr.rb', line 547 def strip_chars_start(characters = nil) characters = Utils.parse_into_expression(characters, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_strip_chars_start(characters)) end |
#strip_prefix(prefix) ⇒ Expr
Remove prefix.
The prefix will be removed from the string exactly once, if found.
604 605 606 607 |
# File 'lib/polars/string_expr.rb', line 604 def strip_prefix(prefix) prefix = Utils.parse_into_expression(prefix, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_strip_prefix(prefix)) end |
#strip_suffix(suffix) ⇒ Expr
Remove suffix.
The suffix will be removed from the string exactly once, if found.
634 635 636 637 |
# File 'lib/polars/string_expr.rb', line 634 def strip_suffix(suffix) suffix = Utils.parse_into_expression(suffix, str_as_lit: true) Utils.wrap_expr(_rbexpr.str_strip_suffix(suffix)) end |
#strptime(dtype, format = nil, strict: true, exact: true, cache: true, utc: false) ⇒ Expr
When parsing a Datetime the column precision will be inferred from the format string, if given, eg: "%F %T%.3f" => Datetime("ms"). If no fractional second component is found then the default is "us".
Parse a Utf8 expression to a Date/Datetime/Time type.
206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 |
# File 'lib/polars/string_expr.rb', line 206 def strptime(dtype, format = nil, strict: true, exact: true, cache: true, utc: false) _validate_format_argument(format) if dtype == Date to_date(format, strict: strict, exact: exact, cache: cache) elsif dtype == Datetime || dtype.is_a?(Datetime) dtype = Datetime.new if dtype == Datetime time_unit = dtype.time_unit time_zone = dtype.time_zone to_datetime(format, time_unit: time_unit, time_zone: time_zone, strict: strict, exact: exact, cache: cache) elsif dtype == Time to_time(format, strict: strict, cache: cache) else raise ArgumentError, "dtype should be of type {Date, Datetime, Time}" end end |
#tail(n) ⇒ Expr
1) The n input is defined in terms of the number of characters in the (UTF8)
string. A character is defined as a Unicode scalar value. A single
character is represented by a single byte when working with ASCII text, and a
maximum of 4 bytes otherwise.
2) When the n input is negative, tail returns characters starting from the
nth from the beginning of the string. For example, if n = -3, then all
characters except the first three are returned.
3) If the length of the string has fewer than n characters, the full string is
returned.
Return the last n characters of each string in a String Series.
1555 1556 1557 1558 |
# File 'lib/polars/string_expr.rb', line 1555 def tail(n) n = Utils.parse_into_expression(n) Utils.wrap_expr(_rbexpr.str_tail(n)) end |
#to_date(format = nil, strict: true, exact: true, cache: true) ⇒ Expr
Convert a Utf8 column into a Date column.
40 41 42 43 |
# File 'lib/polars/string_expr.rb', line 40 def to_date(format = nil, strict: true, exact: true, cache: true) _validate_format_argument(format) Utils.wrap_expr(_rbexpr.str_to_date(format, strict, exact, cache)) end |
#to_datetime(format = nil, time_unit: nil, time_zone: nil, strict: true, exact: true, cache: true, ambiguous: "raise") ⇒ Expr
Convert a Utf8 column into a Datetime column.
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/polars/string_expr.rb', line 86 def to_datetime( format = nil, time_unit: nil, time_zone: nil, strict: true, exact: true, cache: true, ambiguous: "raise" ) _validate_format_argument(format) unless ambiguous.is_a?(Expr) ambiguous = Polars.lit(ambiguous) end Utils.wrap_expr( _rbexpr.str_to_datetime( format, time_unit, time_zone, strict, exact, cache, ambiguous._rbexpr ) ) end |
#to_decimal(scale:) ⇒ Expr
Convert a String column into a Decimal column.
260 261 262 |
# File 'lib/polars/string_expr.rb', line 260 def to_decimal(scale:) Utils.wrap_expr(_rbexpr.str_to_decimal(scale)) end |
#to_integer(base: 10, dtype: Int64, strict: true) ⇒ Expr
Convert an Utf8 column into an Int64 column with base radix.
1602 1603 1604 1605 |
# File 'lib/polars/string_expr.rb', line 1602 def to_integer(base: 10, dtype: Int64, strict: true) base = Utils.parse_into_expression(base, str_as_lit: false) Utils.wrap_expr(_rbexpr.str_to_integer(base, dtype, strict)) end |
#to_lowercase ⇒ Expr
Transform to lowercase variant.
472 473 474 |
# File 'lib/polars/string_expr.rb', line 472 def to_lowercase Utils.wrap_expr(_rbexpr.str_to_lowercase) end |
#to_time(format = nil, strict: true, cache: true) ⇒ Expr
Convert a Utf8 column into a Time column.
137 138 139 140 |
# File 'lib/polars/string_expr.rb', line 137 def to_time(format = nil, strict: true, cache: true) _validate_format_argument(format) Utils.wrap_expr(_rbexpr.str_to_time(format, strict, cache)) end |
#to_titlecase ⇒ Expr
Transform to titlecase variant.
495 496 497 |
# File 'lib/polars/string_expr.rb', line 495 def to_titlecase Utils.wrap_expr(_rbexpr.str_to_titlecase) end |
#to_uppercase ⇒ Expr
Transform to uppercase variant.
451 452 453 |
# File 'lib/polars/string_expr.rb', line 451 def to_uppercase Utils.wrap_expr(_rbexpr.str_to_uppercase) end |
#zfill(length) ⇒ Expr
Fills the string with zeroes.
Return a copy of the string left filled with ASCII '0' digits to make a string of length width.
A leading sign prefix ('+'/'-') is handled by inserting the padding after the
sign character rather than before. The original string is returned if width is
less than or equal to s.length.
730 731 732 733 |
# File 'lib/polars/string_expr.rb', line 730 def zfill(length) length = Utils.parse_into_expression(length) Utils.wrap_expr(_rbexpr.str_zfill(length)) end |