我是北极星图书馆的新手,书名说明了我正在努力做的事情.

使用pandas库,我会使用Python的apply()和build in eval()函数.因为eval("[1,2,3]")返回[1,2,3].

这也可以在Polars中完成--下面我有一个预期的输出示例--但Polars强烈建议使用它的Expression API.我搜索了Expr.str属性,但没有找到执行此操作的表达式.我是漏掉了什么,还是应该选apply()

data = {'col_string': ['[1,2,3]', '[4,5,6]']}

df = pl.DataFrame(data)
df = df.with_columns(pl.col('col_string').map_elements(eval).alias('col_list'))

shape: (2, 2)
┌────────────┬───────────┐
│ col_string ┆ col_list  │
│ ---        ┆ ---       │
│ str        ┆ list[i64] │
╞════════════╪═══════════╡
│ [1,2,3]    ┆ [1, 2, 3] │
│ [4,5,6]    ┆ [4, 5, 6] │
└────────────┴───────────┘

推荐答案

只要字符串列是有效的JSON,就可以使用polars.Expr.str.json_decode,如下所示.

df.with_columns(
    pl.col("col_string").str.json_decode().alias("col_list")
)

Output.

shape: (2, 2)
┌────────────┬───────────┐
│ col_string ┆ col_list  │
│ ---        ┆ ---       │
│ str        ┆ list[i64] │
╞════════════╪═══════════╡
│ [1,2,3]    ┆ [1, 2, 3] │
│ [4,5,6]    ┆ [4, 5, 6] │
└────────────┴───────────┘

Python相关问答推荐

Pandas 密集排名具有相同值,按顺序排列

双情节在单个图上切换-pPython

如何分割我的收件箱,以便连续的数字各自位于自己的收件箱中?

Python:根据创建时间合并两个收件箱

如何从. text中进行pip安装跳过无法访问的库

Pandas数据帧处理Pandas表中Json内的嵌套列表以获取后续Numpy数组

是否有方法将现有的X-Y图转换为X-Y-Y1图(以重新填充)?

已删除的构造函数调用另一个构造函数

添加包含中具有任何值的其他列的计数的列

如何从FDaGrid实例中删除某些函数?

Pythind 11无法弄清楚如何访问tuple元素

为什么默认情况下所有Python类都是可调用的?

NP.round解算数据后NP.unique

如何从.cgi网站刮一张表到rame?

梯度下降:简化要素集的运行时间比原始要素集长

迭代嵌套字典的值

pandas在第1列的id,第2列的标题,第3列的值,第3列的值?

转换为浮点,pandas字符串列,混合千和十进制分隔符

搜索按钮不工作,Python tkinter

ruamel.yaml dump:如何阻止map标量值被移动到一个新的缩进行?