小编Sha*_*tix的帖子

Polars - 将列中的部分字符串替换为其他列的值

所以我有一个像这样的 Polars 数据框

df = pl.DataFrame(
    {
        "ItemId": [15148, 15148, 24957],
        "SuffixFactor": [19200, 200, 24],
        "ItemRand": [254, -1, -44],
        "Stat0": ['+5 Defense', '+$i Might', '+9 Vitality'],
        "Amount": ['', '7', '']
    }
)
Run Code Online (Sandbox Code Playgroud)

每当 Stat0 包含 i$ 时,我想用 Amount 替换“Stat0”列中的 $i

我尝试了几种不同的方法,例如:

df = df.with_column(
    pl.col('Stat0').str.replace(r'\$i', pl.col('Amount'))
)
Run Code Online (Sandbox Code Playgroud)

预期结果

result = pl.DataFrame(
    {
        "ItemId": [15148, 15148, 24957],
        "SuffixFactor": [19200, 200, 24],
        "ItemRand": [254, -1, -44],
        "Stat0": ['+5 Defense', '+7 Might', '+9 Vitality'],
        "Amount": ['', '7', '']
    }
)
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用。

我希望有人能帮帮忙。

此致

python string replace python-polars

7
推荐指数
1
解决办法
4662
查看次数

标签 统计

python ×1

python-polars ×1

replace ×1

string ×1