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 = nil, infer_schema_length: 100) ⇒ 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(inference_length = 100) ⇒ 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.
770 771 772 773 |
# File 'lib/polars/string_expr.rb', line 770 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.
1677 1678 1679 1680 1681 1682 |
# File 'lib/polars/string_expr.rb', line 1677 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.
1205 1206 1207 1208 |
# File 'lib/polars/string_expr.rb', line 1205 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.
1017 1018 1019 1020 1021 1022 1023 1024 1025 |
# File 'lib/polars/string_expr.rb', line 1017 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.
1048 1049 1050 1051 1052 1053 1054 1055 1056 |
# File 'lib/polars/string_expr.rb', line 1048 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.
872 873 874 875 |
# File 'lib/polars/string_expr.rb', line 872 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.
390 391 392 |
# File 'lib/polars/string_expr.rb', line 390 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.
1086 1087 1088 1089 |
# File 'lib/polars/string_expr.rb', line 1086 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.
1118 1119 1120 1121 |
# File 'lib/polars/string_expr.rb', line 1118 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.
1175 1176 1177 |
# File 'lib/polars/string_expr.rb', line 1175 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.
1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 |
# File 'lib/polars/string_expr.rb', line 1830 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 None.
832 833 834 835 |
# File 'lib/polars/string_expr.rb', line 832 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>
1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 |
# File 'lib/polars/string_expr.rb', line 1903 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.
1494 1495 1496 1497 |
# File 'lib/polars/string_expr.rb', line 1494 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.
366 367 368 |
# File 'lib/polars/string_expr.rb', line 366 def join(delimiter = "-", ignore_nulls: true) Utils.wrap_expr(_rbexpr.str_join(delimiter, ignore_nulls)) end |
#json_decode(dtype = nil, infer_schema_length: 100) ⇒ Expr Also known as: json_extract
Parse string values as JSON.
Throw errors if encounter invalid JSON strings.
947 948 949 950 951 952 |
# File 'lib/polars/string_expr.rb', line 947 def json_decode(dtype = nil, infer_schema_length: 100) if !dtype.nil? dtype = Utils.rb_type_to_dtype(dtype) end Utils.wrap_expr(_rbexpr.str_json_decode(dtype, infer_schema_length)) 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.
986 987 988 989 |
# File 'lib/polars/string_expr.rb', line 986 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).
294 295 296 |
# File 'lib/polars/string_expr.rb', line 294 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).
327 328 329 |
# File 'lib/polars/string_expr.rb', line 327 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/.
432 433 434 |
# File 'lib/polars/string_expr.rb', line 432 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.
697 698 699 700 |
# File 'lib/polars/string_expr.rb', line 697 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.
666 667 668 669 |
# File 'lib/polars/string_expr.rb', line 666 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.
1636 1637 1638 |
# File 'lib/polars/string_expr.rb', line 1636 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.
1346 1347 1348 1349 1350 |
# File 'lib/polars/string_expr.rb', line 1346 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.
1376 1377 1378 1379 1380 |
# File 'lib/polars/string_expr.rb', line 1376 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.
1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 |
# File 'lib/polars/string_expr.rb', line 1748 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.
1400 1401 1402 |
# File 'lib/polars/string_expr.rb', line 1400 def reverse Utils.wrap_expr(_rbexpr.str_reverse) end |
#slice(offset, length = nil) ⇒ Expr
Create subslices of the string values of a Utf8 Series.
1431 1432 1433 1434 1435 |
# File 'lib/polars/string_expr.rb', line 1431 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.
1234 1235 1236 1237 1238 1239 1240 |
# File 'lib/polars/string_expr.rb', line 1234 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.
1276 1277 1278 1279 1280 1281 1282 1283 |
# File 'lib/polars/string_expr.rb', line 1276 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.
1313 1314 1315 1316 |
# File 'lib/polars/string_expr.rb', line 1313 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.
912 913 914 915 |
# File 'lib/polars/string_expr.rb', line 912 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.
522 523 524 525 |
# File 'lib/polars/string_expr.rb', line 522 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.
576 577 578 579 |
# File 'lib/polars/string_expr.rb', line 576 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.
549 550 551 552 |
# File 'lib/polars/string_expr.rb', line 549 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.
606 607 608 609 |
# File 'lib/polars/string_expr.rb', line 606 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.
636 637 638 639 |
# File 'lib/polars/string_expr.rb', line 636 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.
1556 1557 1558 1559 |
# File 'lib/polars/string_expr.rb', line 1556 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(inference_length = 100) ⇒ Expr
Convert a String column into a Decimal column.
This method infers the needed parameters precision and scale.
262 263 264 |
# File 'lib/polars/string_expr.rb', line 262 def to_decimal(inference_length = 100) Utils.wrap_expr(_rbexpr.str_to_decimal(inference_length)) end |
#to_integer(base: 10, dtype: Int64, strict: true) ⇒ Expr
Convert an Utf8 column into an Int64 column with base radix.
1603 1604 1605 1606 |
# File 'lib/polars/string_expr.rb', line 1603 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.
474 475 476 |
# File 'lib/polars/string_expr.rb', line 474 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.
497 498 499 |
# File 'lib/polars/string_expr.rb', line 497 def to_titlecase Utils.wrap_expr(_rbexpr.str_to_titlecase) end |
#to_uppercase ⇒ Expr
Transform to uppercase variant.
453 454 455 |
# File 'lib/polars/string_expr.rb', line 453 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.
732 733 734 735 |
# File 'lib/polars/string_expr.rb', line 732 def zfill(length) length = Utils.parse_into_expression(length) Utils.wrap_expr(_rbexpr.str_zfill(length)) end |