如何从Python Polars中的str列中获取前n个字符?

lmo*_*csi 2 python python-polars

pandas 的替代品是什么:

data['ColumnA'].str[:2]
Run Code Online (Sandbox Code Playgroud)

在蟒蛇极地?

pl.col('ColumnA').str[:3]
Run Code Online (Sandbox Code Playgroud)

抛出TypeError: 'ExprStringNameSpace' object is not subscriptable 错误。

Abd*_*P M 6

您可以使用str.slice,它需要两个参数offsetlengthoffset指定起始索引length指定切片的长度。如果设置为None(默认),则切片将保留到字符串的末尾

\n
>>> import polars as pl\n>>> \n>>> df = pl.DataFrame({"animal": ["Crab", "cat and dog", "rab$bit", None]})\n>>> df\nshape: (4, 1)\n\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\xe2\x94\x82 animal      \xe2\x94\x82\n\xe2\x94\x82 ---         \xe2\x94\x82\n\xe2\x94\x82 str         \xe2\x94\x82\n\xe2\x95\x9e\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa1\n\xe2\x94\x82 Crab        \xe2\x94\x82\n\xe2\x94\x82 cat and dog \xe2\x94\x82\n\xe2\x94\x82 rab$bit     \xe2\x94\x82\n\xe2\x94\x82 null        \xe2\x94\x82\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x98\n>>> df.with_columns(pl.col("animal").str.slice(0, 3).alias("sub_string"))\nshape: (4, 2)\n\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\xe2\x94\x82 animal      \xe2\x94\x86 sub_string \xe2\x94\x82\n\xe2\x94\x82 ---         \xe2\x94\x86 ---        \xe2\x94\x82\n\xe2\x94\x82 str         \xe2\x94\x86 str        \xe2\x94\x82\n\xe2\x95\x9e\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xaa\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa1\n\xe2\x94\x82 Crab        \xe2\x94\x86 Cra        \xe2\x94\x82\n\xe2\x94\x82 cat and dog \xe2\x94\x86 cat        \xe2\x94\x82\n\xe2\x94\x82 rab$bit     \xe2\x94\x86 rab        \xe2\x94\x82\n\xe2\x94\x82 null        \xe2\x94\x86 null       \xe2\x94\x82\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xb4\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x98\n
Run Code Online (Sandbox Code Playgroud)\n