polars-runtime-compat 1.34.0b3__cp39-abi3-macosx_11_0_arm64.whl → 1.34.0b4__cp39-abi3-macosx_11_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of polars-runtime-compat might be problematic. Click here for more details.
- _polars_runtime_compat/_polars_runtime_compat.abi3.so +0 -0
- {polars_runtime_compat-1.34.0b3.dist-info → polars_runtime_compat-1.34.0b4.dist-info}/METADATA +1 -1
- polars_runtime_compat-1.34.0b4.dist-info/RECORD +6 -0
- polars/__init__.py +0 -528
- polars/_cpu_check.py +0 -265
- polars/_dependencies.py +0 -355
- polars/_plr.py +0 -99
- polars/_plr.pyi +0 -2496
- polars/_reexport.py +0 -23
- polars/_typing.py +0 -478
- polars/_utils/__init__.py +0 -37
- polars/_utils/async_.py +0 -102
- polars/_utils/cache.py +0 -176
- polars/_utils/cloud.py +0 -40
- polars/_utils/constants.py +0 -29
- polars/_utils/construction/__init__.py +0 -46
- polars/_utils/construction/dataframe.py +0 -1397
- polars/_utils/construction/other.py +0 -72
- polars/_utils/construction/series.py +0 -560
- polars/_utils/construction/utils.py +0 -118
- polars/_utils/convert.py +0 -224
- polars/_utils/deprecation.py +0 -406
- polars/_utils/getitem.py +0 -457
- polars/_utils/logging.py +0 -11
- polars/_utils/nest_asyncio.py +0 -264
- polars/_utils/parquet.py +0 -15
- polars/_utils/parse/__init__.py +0 -12
- polars/_utils/parse/expr.py +0 -242
- polars/_utils/polars_version.py +0 -19
- polars/_utils/pycapsule.py +0 -53
- polars/_utils/scan.py +0 -27
- polars/_utils/serde.py +0 -63
- polars/_utils/slice.py +0 -215
- polars/_utils/udfs.py +0 -1251
- polars/_utils/unstable.py +0 -63
- polars/_utils/various.py +0 -782
- polars/_utils/wrap.py +0 -25
- polars/api.py +0 -370
- polars/catalog/__init__.py +0 -0
- polars/catalog/unity/__init__.py +0 -19
- polars/catalog/unity/client.py +0 -733
- polars/catalog/unity/models.py +0 -152
- polars/config.py +0 -1571
- polars/convert/__init__.py +0 -25
- polars/convert/general.py +0 -1046
- polars/convert/normalize.py +0 -261
- polars/dataframe/__init__.py +0 -5
- polars/dataframe/_html.py +0 -186
- polars/dataframe/frame.py +0 -12582
- polars/dataframe/group_by.py +0 -1067
- polars/dataframe/plotting.py +0 -257
- polars/datatype_expr/__init__.py +0 -5
- polars/datatype_expr/array.py +0 -56
- polars/datatype_expr/datatype_expr.py +0 -304
- polars/datatype_expr/list.py +0 -18
- polars/datatype_expr/struct.py +0 -69
- polars/datatypes/__init__.py +0 -122
- polars/datatypes/_parse.py +0 -195
- polars/datatypes/_utils.py +0 -48
- polars/datatypes/classes.py +0 -1213
- polars/datatypes/constants.py +0 -11
- polars/datatypes/constructor.py +0 -172
- polars/datatypes/convert.py +0 -366
- polars/datatypes/group.py +0 -130
- polars/exceptions.py +0 -230
- polars/expr/__init__.py +0 -7
- polars/expr/array.py +0 -964
- polars/expr/binary.py +0 -346
- polars/expr/categorical.py +0 -306
- polars/expr/datetime.py +0 -2620
- polars/expr/expr.py +0 -11272
- polars/expr/list.py +0 -1408
- polars/expr/meta.py +0 -444
- polars/expr/name.py +0 -321
- polars/expr/string.py +0 -3045
- polars/expr/struct.py +0 -357
- polars/expr/whenthen.py +0 -185
- polars/functions/__init__.py +0 -193
- polars/functions/aggregation/__init__.py +0 -33
- polars/functions/aggregation/horizontal.py +0 -298
- polars/functions/aggregation/vertical.py +0 -341
- polars/functions/as_datatype.py +0 -848
- polars/functions/business.py +0 -138
- polars/functions/col.py +0 -384
- polars/functions/datatype.py +0 -121
- polars/functions/eager.py +0 -524
- polars/functions/escape_regex.py +0 -29
- polars/functions/lazy.py +0 -2751
- polars/functions/len.py +0 -68
- polars/functions/lit.py +0 -210
- polars/functions/random.py +0 -22
- polars/functions/range/__init__.py +0 -19
- polars/functions/range/_utils.py +0 -15
- polars/functions/range/date_range.py +0 -303
- polars/functions/range/datetime_range.py +0 -370
- polars/functions/range/int_range.py +0 -348
- polars/functions/range/linear_space.py +0 -311
- polars/functions/range/time_range.py +0 -287
- polars/functions/repeat.py +0 -301
- polars/functions/whenthen.py +0 -353
- polars/interchange/__init__.py +0 -10
- polars/interchange/buffer.py +0 -77
- polars/interchange/column.py +0 -190
- polars/interchange/dataframe.py +0 -230
- polars/interchange/from_dataframe.py +0 -328
- polars/interchange/protocol.py +0 -303
- polars/interchange/utils.py +0 -170
- polars/io/__init__.py +0 -64
- polars/io/_utils.py +0 -317
- polars/io/avro.py +0 -49
- polars/io/clipboard.py +0 -36
- polars/io/cloud/__init__.py +0 -17
- polars/io/cloud/_utils.py +0 -80
- polars/io/cloud/credential_provider/__init__.py +0 -17
- polars/io/cloud/credential_provider/_builder.py +0 -520
- polars/io/cloud/credential_provider/_providers.py +0 -618
- polars/io/csv/__init__.py +0 -9
- polars/io/csv/_utils.py +0 -38
- polars/io/csv/batched_reader.py +0 -142
- polars/io/csv/functions.py +0 -1495
- polars/io/database/__init__.py +0 -6
- polars/io/database/_arrow_registry.py +0 -70
- polars/io/database/_cursor_proxies.py +0 -147
- polars/io/database/_executor.py +0 -578
- polars/io/database/_inference.py +0 -314
- polars/io/database/_utils.py +0 -144
- polars/io/database/functions.py +0 -516
- polars/io/delta.py +0 -499
- polars/io/iceberg/__init__.py +0 -3
- polars/io/iceberg/_utils.py +0 -697
- polars/io/iceberg/dataset.py +0 -556
- polars/io/iceberg/functions.py +0 -151
- polars/io/ipc/__init__.py +0 -8
- polars/io/ipc/functions.py +0 -514
- polars/io/json/__init__.py +0 -3
- polars/io/json/read.py +0 -101
- polars/io/ndjson.py +0 -332
- polars/io/parquet/__init__.py +0 -17
- polars/io/parquet/field_overwrites.py +0 -140
- polars/io/parquet/functions.py +0 -722
- polars/io/partition.py +0 -491
- polars/io/plugins.py +0 -187
- polars/io/pyarrow_dataset/__init__.py +0 -5
- polars/io/pyarrow_dataset/anonymous_scan.py +0 -109
- polars/io/pyarrow_dataset/functions.py +0 -79
- polars/io/scan_options/__init__.py +0 -5
- polars/io/scan_options/_options.py +0 -59
- polars/io/scan_options/cast_options.py +0 -126
- polars/io/spreadsheet/__init__.py +0 -6
- polars/io/spreadsheet/_utils.py +0 -52
- polars/io/spreadsheet/_write_utils.py +0 -647
- polars/io/spreadsheet/functions.py +0 -1323
- polars/lazyframe/__init__.py +0 -9
- polars/lazyframe/engine_config.py +0 -61
- polars/lazyframe/frame.py +0 -8564
- polars/lazyframe/group_by.py +0 -669
- polars/lazyframe/in_process.py +0 -42
- polars/lazyframe/opt_flags.py +0 -333
- polars/meta/__init__.py +0 -14
- polars/meta/build.py +0 -33
- polars/meta/index_type.py +0 -27
- polars/meta/thread_pool.py +0 -50
- polars/meta/versions.py +0 -120
- polars/ml/__init__.py +0 -0
- polars/ml/torch.py +0 -213
- polars/ml/utilities.py +0 -30
- polars/plugins.py +0 -155
- polars/py.typed +0 -0
- polars/pyproject.toml +0 -103
- polars/schema.py +0 -265
- polars/selectors.py +0 -3117
- polars/series/__init__.py +0 -5
- polars/series/array.py +0 -776
- polars/series/binary.py +0 -254
- polars/series/categorical.py +0 -246
- polars/series/datetime.py +0 -2275
- polars/series/list.py +0 -1087
- polars/series/plotting.py +0 -191
- polars/series/series.py +0 -9197
- polars/series/string.py +0 -2367
- polars/series/struct.py +0 -154
- polars/series/utils.py +0 -191
- polars/sql/__init__.py +0 -7
- polars/sql/context.py +0 -677
- polars/sql/functions.py +0 -139
- polars/string_cache.py +0 -185
- polars/testing/__init__.py +0 -13
- polars/testing/asserts/__init__.py +0 -9
- polars/testing/asserts/frame.py +0 -231
- polars/testing/asserts/series.py +0 -219
- polars/testing/asserts/utils.py +0 -12
- polars/testing/parametric/__init__.py +0 -33
- polars/testing/parametric/profiles.py +0 -107
- polars/testing/parametric/strategies/__init__.py +0 -22
- polars/testing/parametric/strategies/_utils.py +0 -14
- polars/testing/parametric/strategies/core.py +0 -615
- polars/testing/parametric/strategies/data.py +0 -452
- polars/testing/parametric/strategies/dtype.py +0 -436
- polars/testing/parametric/strategies/legacy.py +0 -169
- polars/type_aliases.py +0 -24
- polars_runtime_compat-1.34.0b3.dist-info/RECORD +0 -203
- {polars_runtime_compat-1.34.0b3.dist-info → polars_runtime_compat-1.34.0b4.dist-info}/WHEEL +0 -0
- {polars_runtime_compat-1.34.0b3.dist-info → polars_runtime_compat-1.34.0b4.dist-info}/licenses/LICENSE +0 -0
polars/series/binary.py
DELETED
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import TYPE_CHECKING
|
|
4
|
-
|
|
5
|
-
from polars.series.utils import expr_dispatch
|
|
6
|
-
|
|
7
|
-
if TYPE_CHECKING:
|
|
8
|
-
from polars import Series
|
|
9
|
-
from polars._plr import PySeries
|
|
10
|
-
from polars._typing import (
|
|
11
|
-
Endianness,
|
|
12
|
-
IntoExpr,
|
|
13
|
-
PolarsDataType,
|
|
14
|
-
SizeUnit,
|
|
15
|
-
TransferEncoding,
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@expr_dispatch
|
|
20
|
-
class BinaryNameSpace:
|
|
21
|
-
"""Series.bin namespace."""
|
|
22
|
-
|
|
23
|
-
_accessor = "bin"
|
|
24
|
-
|
|
25
|
-
def __init__(self, series: Series) -> None:
|
|
26
|
-
self._s: PySeries = series._s
|
|
27
|
-
|
|
28
|
-
def contains(self, literal: IntoExpr) -> Series:
|
|
29
|
-
r"""
|
|
30
|
-
Check if binaries in Series contain a binary substring.
|
|
31
|
-
|
|
32
|
-
Parameters
|
|
33
|
-
----------
|
|
34
|
-
literal
|
|
35
|
-
The binary substring to look for
|
|
36
|
-
|
|
37
|
-
Returns
|
|
38
|
-
-------
|
|
39
|
-
Series
|
|
40
|
-
Series of data type :class:`Boolean`.
|
|
41
|
-
|
|
42
|
-
Examples
|
|
43
|
-
--------
|
|
44
|
-
>>> s = pl.Series("colors", [b"\x00\x00\x00", b"\xff\xff\x00", b"\x00\x00\xff"])
|
|
45
|
-
>>> s.bin.contains(b"\xff")
|
|
46
|
-
shape: (3,)
|
|
47
|
-
Series: 'colors' [bool]
|
|
48
|
-
[
|
|
49
|
-
false
|
|
50
|
-
true
|
|
51
|
-
true
|
|
52
|
-
]
|
|
53
|
-
"""
|
|
54
|
-
|
|
55
|
-
def ends_with(self, suffix: IntoExpr) -> Series:
|
|
56
|
-
r"""
|
|
57
|
-
Check if string values end with a binary substring.
|
|
58
|
-
|
|
59
|
-
Parameters
|
|
60
|
-
----------
|
|
61
|
-
suffix
|
|
62
|
-
Suffix substring.
|
|
63
|
-
|
|
64
|
-
Examples
|
|
65
|
-
--------
|
|
66
|
-
>>> s = pl.Series("colors", [b"\x00\x00\x00", b"\xff\xff\x00", b"\x00\x00\xff"])
|
|
67
|
-
>>> s.bin.ends_with(b"\x00")
|
|
68
|
-
shape: (3,)
|
|
69
|
-
Series: 'colors' [bool]
|
|
70
|
-
[
|
|
71
|
-
true
|
|
72
|
-
true
|
|
73
|
-
false
|
|
74
|
-
]
|
|
75
|
-
"""
|
|
76
|
-
|
|
77
|
-
def starts_with(self, prefix: IntoExpr) -> Series:
|
|
78
|
-
r"""
|
|
79
|
-
Check if values start with a binary substring.
|
|
80
|
-
|
|
81
|
-
Parameters
|
|
82
|
-
----------
|
|
83
|
-
prefix
|
|
84
|
-
Prefix substring.
|
|
85
|
-
|
|
86
|
-
Examples
|
|
87
|
-
--------
|
|
88
|
-
>>> s = pl.Series("colors", [b"\x00\x00\x00", b"\xff\xff\x00", b"\x00\x00\xff"])
|
|
89
|
-
>>> s.bin.starts_with(b"\x00")
|
|
90
|
-
shape: (3,)
|
|
91
|
-
Series: 'colors' [bool]
|
|
92
|
-
[
|
|
93
|
-
true
|
|
94
|
-
false
|
|
95
|
-
true
|
|
96
|
-
]
|
|
97
|
-
"""
|
|
98
|
-
|
|
99
|
-
def decode(self, encoding: TransferEncoding, *, strict: bool = True) -> Series:
|
|
100
|
-
r"""
|
|
101
|
-
Decode values using the provided encoding.
|
|
102
|
-
|
|
103
|
-
Parameters
|
|
104
|
-
----------
|
|
105
|
-
encoding : {'hex', 'base64'}
|
|
106
|
-
The encoding to use.
|
|
107
|
-
strict
|
|
108
|
-
Raise an error if the underlying value cannot be decoded,
|
|
109
|
-
otherwise mask out with a null value.
|
|
110
|
-
|
|
111
|
-
Returns
|
|
112
|
-
-------
|
|
113
|
-
Series
|
|
114
|
-
Series of data type :class:`String`.
|
|
115
|
-
|
|
116
|
-
Examples
|
|
117
|
-
--------
|
|
118
|
-
Decode values using hexadecimal encoding.
|
|
119
|
-
|
|
120
|
-
>>> s = pl.Series("colors", [b"000000", b"ffff00", b"0000ff"])
|
|
121
|
-
>>> s.bin.decode("hex")
|
|
122
|
-
shape: (3,)
|
|
123
|
-
Series: 'colors' [binary]
|
|
124
|
-
[
|
|
125
|
-
b"\x00\x00\x00"
|
|
126
|
-
b"\xff\xff\x00"
|
|
127
|
-
b"\x00\x00\xff"
|
|
128
|
-
]
|
|
129
|
-
|
|
130
|
-
Decode values using Base64 encoding.
|
|
131
|
-
|
|
132
|
-
>>> s = pl.Series("colors", [b"AAAA", b"//8A", b"AAD/"])
|
|
133
|
-
>>> s.bin.decode("base64")
|
|
134
|
-
shape: (3,)
|
|
135
|
-
Series: 'colors' [binary]
|
|
136
|
-
[
|
|
137
|
-
b"\x00\x00\x00"
|
|
138
|
-
b"\xff\xff\x00"
|
|
139
|
-
b"\x00\x00\xff"
|
|
140
|
-
]
|
|
141
|
-
|
|
142
|
-
Set `strict=False` to set invalid values to null instead of raising an error.
|
|
143
|
-
|
|
144
|
-
>>> s = pl.Series("colors", [b"000000", b"ffff00", b"invalid_value"])
|
|
145
|
-
>>> s.bin.decode("hex", strict=False)
|
|
146
|
-
shape: (3,)
|
|
147
|
-
Series: 'colors' [binary]
|
|
148
|
-
[
|
|
149
|
-
b"\x00\x00\x00"
|
|
150
|
-
b"\xff\xff\x00"
|
|
151
|
-
null
|
|
152
|
-
]
|
|
153
|
-
"""
|
|
154
|
-
|
|
155
|
-
def encode(self, encoding: TransferEncoding) -> Series:
|
|
156
|
-
r"""
|
|
157
|
-
Encode values using the provided encoding.
|
|
158
|
-
|
|
159
|
-
Parameters
|
|
160
|
-
----------
|
|
161
|
-
encoding : {'hex', 'base64'}
|
|
162
|
-
The encoding to use.
|
|
163
|
-
|
|
164
|
-
Returns
|
|
165
|
-
-------
|
|
166
|
-
Series
|
|
167
|
-
Series of data type :class:`String`.
|
|
168
|
-
|
|
169
|
-
Examples
|
|
170
|
-
--------
|
|
171
|
-
Encode values using hexadecimal encoding.
|
|
172
|
-
|
|
173
|
-
>>> s = pl.Series("colors", [b"\x00\x00\x00", b"\xff\xff\x00", b"\x00\x00\xff"])
|
|
174
|
-
>>> s.bin.encode("hex")
|
|
175
|
-
shape: (3,)
|
|
176
|
-
Series: 'colors' [str]
|
|
177
|
-
[
|
|
178
|
-
"000000"
|
|
179
|
-
"ffff00"
|
|
180
|
-
"0000ff"
|
|
181
|
-
]
|
|
182
|
-
|
|
183
|
-
Encode values using Base64 encoding.
|
|
184
|
-
|
|
185
|
-
>>> s.bin.encode("base64")
|
|
186
|
-
shape: (3,)
|
|
187
|
-
Series: 'colors' [str]
|
|
188
|
-
[
|
|
189
|
-
"AAAA"
|
|
190
|
-
"//8A"
|
|
191
|
-
"AAD/"
|
|
192
|
-
]
|
|
193
|
-
"""
|
|
194
|
-
|
|
195
|
-
def size(self, unit: SizeUnit = "b") -> Series:
|
|
196
|
-
r"""
|
|
197
|
-
Get the size of the binary values in a Series in the given unit.
|
|
198
|
-
|
|
199
|
-
Returns
|
|
200
|
-
-------
|
|
201
|
-
Series
|
|
202
|
-
Series of data type :class:`UInt32`.
|
|
203
|
-
|
|
204
|
-
Examples
|
|
205
|
-
--------
|
|
206
|
-
>>> from os import urandom
|
|
207
|
-
>>> s = pl.Series("data", [urandom(n) for n in (512, 256, 2560, 1024)])
|
|
208
|
-
>>> s.bin.size("kb")
|
|
209
|
-
shape: (4,)
|
|
210
|
-
Series: 'data' [f64]
|
|
211
|
-
[
|
|
212
|
-
0.5
|
|
213
|
-
0.25
|
|
214
|
-
2.5
|
|
215
|
-
1.0
|
|
216
|
-
]
|
|
217
|
-
"""
|
|
218
|
-
|
|
219
|
-
def reinterpret(
|
|
220
|
-
self, *, dtype: PolarsDataType, endianness: Endianness = "little"
|
|
221
|
-
) -> Series:
|
|
222
|
-
r"""
|
|
223
|
-
Interpret bytes as another type.
|
|
224
|
-
|
|
225
|
-
Supported types are numerical or temporal dtypes, or an ``Array`` of
|
|
226
|
-
these dtypes.
|
|
227
|
-
|
|
228
|
-
Parameters
|
|
229
|
-
----------
|
|
230
|
-
dtype : PolarsDataType
|
|
231
|
-
Which type to interpret binary column into.
|
|
232
|
-
endianness : {"big", "little"}, optional
|
|
233
|
-
Which endianness to use when interpreting bytes, by default "little".
|
|
234
|
-
|
|
235
|
-
Returns
|
|
236
|
-
-------
|
|
237
|
-
Series
|
|
238
|
-
Series of data type `dtype`.
|
|
239
|
-
Note that rows of the binary array where the length does not match
|
|
240
|
-
the size in bytes of the output array (number of items * byte size
|
|
241
|
-
of item) will become NULL.
|
|
242
|
-
|
|
243
|
-
Examples
|
|
244
|
-
--------
|
|
245
|
-
>>> s = pl.Series("data", [b"\x05\x00\x00\x00", b"\x10\x00\x01\x00"])
|
|
246
|
-
>>> s.bin.reinterpret(dtype=pl.Int32, endianness="little")
|
|
247
|
-
shape: (2,)
|
|
248
|
-
Series: 'data' [i32]
|
|
249
|
-
[
|
|
250
|
-
5
|
|
251
|
-
65552
|
|
252
|
-
]
|
|
253
|
-
|
|
254
|
-
"""
|
polars/series/categorical.py
DELETED
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import TYPE_CHECKING
|
|
4
|
-
|
|
5
|
-
from polars._utils.unstable import unstable
|
|
6
|
-
from polars._utils.wrap import wrap_s
|
|
7
|
-
from polars.series.utils import expr_dispatch
|
|
8
|
-
|
|
9
|
-
if TYPE_CHECKING:
|
|
10
|
-
from polars import Series
|
|
11
|
-
from polars._plr import PySeries
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
@expr_dispatch
|
|
15
|
-
class CatNameSpace:
|
|
16
|
-
"""Namespace for categorical related series."""
|
|
17
|
-
|
|
18
|
-
_accessor = "cat"
|
|
19
|
-
|
|
20
|
-
def __init__(self, series: Series) -> None:
|
|
21
|
-
self._s: PySeries = series._s
|
|
22
|
-
|
|
23
|
-
def get_categories(self) -> Series:
|
|
24
|
-
"""
|
|
25
|
-
Get the categories stored in this data type.
|
|
26
|
-
|
|
27
|
-
Examples
|
|
28
|
-
--------
|
|
29
|
-
>>> s = pl.Series(["foo", "bar", "foo", "foo", "ham"], dtype=pl.Categorical)
|
|
30
|
-
>>> s.cat.get_categories() # doctest: +SKIP
|
|
31
|
-
shape: (3,)
|
|
32
|
-
Series: '' [str]
|
|
33
|
-
[
|
|
34
|
-
"foo"
|
|
35
|
-
"bar"
|
|
36
|
-
"ham"
|
|
37
|
-
]
|
|
38
|
-
"""
|
|
39
|
-
|
|
40
|
-
def is_local(self) -> bool:
|
|
41
|
-
"""
|
|
42
|
-
Return whether or not the column is a local categorical.
|
|
43
|
-
|
|
44
|
-
Always returns false.
|
|
45
|
-
"""
|
|
46
|
-
return self._s.cat_is_local()
|
|
47
|
-
|
|
48
|
-
def to_local(self) -> Series:
|
|
49
|
-
"""Simply returns the column as-is, local representations are deprecated."""
|
|
50
|
-
return wrap_s(self._s.cat_to_local())
|
|
51
|
-
|
|
52
|
-
@unstable()
|
|
53
|
-
def uses_lexical_ordering(self) -> bool:
|
|
54
|
-
"""
|
|
55
|
-
Indicate whether the Series uses lexical ordering.
|
|
56
|
-
|
|
57
|
-
.. warning::
|
|
58
|
-
This functionality is considered **unstable**. It may be changed
|
|
59
|
-
at any point without it being considered a breaking change.
|
|
60
|
-
|
|
61
|
-
Examples
|
|
62
|
-
--------
|
|
63
|
-
>>> s = pl.Series(["b", "a", "b"]).cast(pl.Categorical)
|
|
64
|
-
>>> s.cat.uses_lexical_ordering()
|
|
65
|
-
True
|
|
66
|
-
"""
|
|
67
|
-
return self._s.cat_uses_lexical_ordering()
|
|
68
|
-
|
|
69
|
-
def len_bytes(self) -> Series:
|
|
70
|
-
"""
|
|
71
|
-
Return the byte-length of the string representation of each value.
|
|
72
|
-
|
|
73
|
-
Returns
|
|
74
|
-
-------
|
|
75
|
-
Series
|
|
76
|
-
Series of data type :class:`UInt32`.
|
|
77
|
-
|
|
78
|
-
See Also
|
|
79
|
-
--------
|
|
80
|
-
len_chars
|
|
81
|
-
|
|
82
|
-
Notes
|
|
83
|
-
-----
|
|
84
|
-
When working with non-ASCII text, the length in bytes is not the same as the
|
|
85
|
-
length in characters. You may want to use :func:`len_chars` instead.
|
|
86
|
-
Note that :func:`len_bytes` is much more performant (_O(1)_) than
|
|
87
|
-
:func:`len_chars` (_O(n)_).
|
|
88
|
-
|
|
89
|
-
Examples
|
|
90
|
-
--------
|
|
91
|
-
>>> s = pl.Series(["Café", "345", "東京", None], dtype=pl.Categorical)
|
|
92
|
-
>>> s.cat.len_bytes()
|
|
93
|
-
shape: (4,)
|
|
94
|
-
Series: '' [u32]
|
|
95
|
-
[
|
|
96
|
-
5
|
|
97
|
-
3
|
|
98
|
-
6
|
|
99
|
-
null
|
|
100
|
-
]
|
|
101
|
-
"""
|
|
102
|
-
|
|
103
|
-
def len_chars(self) -> Series:
|
|
104
|
-
"""
|
|
105
|
-
Return the number of characters of the string representation of each value.
|
|
106
|
-
|
|
107
|
-
Returns
|
|
108
|
-
-------
|
|
109
|
-
Series
|
|
110
|
-
Series of data type :class:`UInt32`.
|
|
111
|
-
|
|
112
|
-
See Also
|
|
113
|
-
--------
|
|
114
|
-
len_bytes
|
|
115
|
-
|
|
116
|
-
Notes
|
|
117
|
-
-----
|
|
118
|
-
When working with ASCII text, use :func:`len_bytes` instead to achieve
|
|
119
|
-
equivalent output with much better performance:
|
|
120
|
-
:func:`len_bytes` runs in _O(1)_, while :func:`len_chars` runs in (_O(n)_).
|
|
121
|
-
|
|
122
|
-
A character is defined as a `Unicode scalar value`_. A single character is
|
|
123
|
-
represented by a single byte when working with ASCII text, and a maximum of
|
|
124
|
-
4 bytes otherwise.
|
|
125
|
-
|
|
126
|
-
.. _Unicode scalar value: https://www.unicode.org/glossary/#unicode_scalar_value
|
|
127
|
-
|
|
128
|
-
Examples
|
|
129
|
-
--------
|
|
130
|
-
>>> s = pl.Series(["Café", "345", "東京", None], dtype=pl.Categorical)
|
|
131
|
-
>>> s.cat.len_chars()
|
|
132
|
-
shape: (4,)
|
|
133
|
-
Series: '' [u32]
|
|
134
|
-
[
|
|
135
|
-
4
|
|
136
|
-
3
|
|
137
|
-
2
|
|
138
|
-
null
|
|
139
|
-
]
|
|
140
|
-
"""
|
|
141
|
-
|
|
142
|
-
def starts_with(self, prefix: str) -> Series:
|
|
143
|
-
"""
|
|
144
|
-
Check if string representations of values start with a substring.
|
|
145
|
-
|
|
146
|
-
Parameters
|
|
147
|
-
----------
|
|
148
|
-
prefix
|
|
149
|
-
Prefix substring.
|
|
150
|
-
|
|
151
|
-
See Also
|
|
152
|
-
--------
|
|
153
|
-
contains : Check if the string repr contains a substring that matches a pattern.
|
|
154
|
-
ends_with : Check if string repr ends with a substring.
|
|
155
|
-
|
|
156
|
-
Examples
|
|
157
|
-
--------
|
|
158
|
-
>>> s = pl.Series("fruits", ["apple", "mango", None], dtype=pl.Categorical)
|
|
159
|
-
>>> s.cat.starts_with("app")
|
|
160
|
-
shape: (3,)
|
|
161
|
-
Series: 'fruits' [bool]
|
|
162
|
-
[
|
|
163
|
-
true
|
|
164
|
-
false
|
|
165
|
-
null
|
|
166
|
-
]
|
|
167
|
-
"""
|
|
168
|
-
|
|
169
|
-
def ends_with(self, suffix: str) -> Series:
|
|
170
|
-
"""
|
|
171
|
-
Check if string representations of values end with a substring.
|
|
172
|
-
|
|
173
|
-
Parameters
|
|
174
|
-
----------
|
|
175
|
-
suffix
|
|
176
|
-
Suffix substring.
|
|
177
|
-
|
|
178
|
-
See Also
|
|
179
|
-
--------
|
|
180
|
-
contains : Check if the string repr contains a substring that matches a pattern.
|
|
181
|
-
starts_with : Check if string repr starts with a substring.
|
|
182
|
-
|
|
183
|
-
Examples
|
|
184
|
-
--------
|
|
185
|
-
>>> s = pl.Series("fruits", ["apple", "mango", None], dtype=pl.Categorical)
|
|
186
|
-
>>> s.cat.ends_with("go")
|
|
187
|
-
shape: (3,)
|
|
188
|
-
Series: 'fruits' [bool]
|
|
189
|
-
[
|
|
190
|
-
false
|
|
191
|
-
true
|
|
192
|
-
null
|
|
193
|
-
]
|
|
194
|
-
"""
|
|
195
|
-
|
|
196
|
-
def slice(self, offset: int, length: int | None = None) -> Series:
|
|
197
|
-
"""
|
|
198
|
-
Extract a substring from the string representation of each string value.
|
|
199
|
-
|
|
200
|
-
Parameters
|
|
201
|
-
----------
|
|
202
|
-
offset
|
|
203
|
-
Start index. Negative indexing is supported.
|
|
204
|
-
length
|
|
205
|
-
Length of the slice. If set to `None` (default), the slice is taken to the
|
|
206
|
-
end of the string.
|
|
207
|
-
|
|
208
|
-
Returns
|
|
209
|
-
-------
|
|
210
|
-
Series
|
|
211
|
-
Series of data type :class:`String`.
|
|
212
|
-
|
|
213
|
-
Notes
|
|
214
|
-
-----
|
|
215
|
-
Both the `offset` and `length` inputs are defined in terms of the number
|
|
216
|
-
of characters in the (UTF8) string. A character is defined as a
|
|
217
|
-
`Unicode scalar value`_. A single character is represented by a single byte
|
|
218
|
-
when working with ASCII text, and a maximum of 4 bytes otherwise.
|
|
219
|
-
|
|
220
|
-
.. _Unicode scalar value: https://www.unicode.org/glossary/#unicode_scalar_value
|
|
221
|
-
|
|
222
|
-
Examples
|
|
223
|
-
--------
|
|
224
|
-
>>> s = pl.Series(["pear", None, "papaya", "dragonfruit"], dtype=pl.Categorical)
|
|
225
|
-
>>> s.cat.slice(-3)
|
|
226
|
-
shape: (4,)
|
|
227
|
-
Series: '' [str]
|
|
228
|
-
[
|
|
229
|
-
"ear"
|
|
230
|
-
null
|
|
231
|
-
"aya"
|
|
232
|
-
"uit"
|
|
233
|
-
]
|
|
234
|
-
|
|
235
|
-
Using the optional `length` parameter
|
|
236
|
-
|
|
237
|
-
>>> s.cat.slice(4, length=3)
|
|
238
|
-
shape: (4,)
|
|
239
|
-
Series: '' [str]
|
|
240
|
-
[
|
|
241
|
-
""
|
|
242
|
-
null
|
|
243
|
-
"ya"
|
|
244
|
-
"onf"
|
|
245
|
-
]
|
|
246
|
-
"""
|