gpt4 book ai didi

python-3.x - 基于 Python Polars 列的更新不起作用

转载 作者:行者123 更新时间:2023-12-05 01:56:57 25 4
gpt4 key购买 nike

我使用 Polars用于数据框操作的库。我有两个数据框,我想用根据条件从另一个数据框获取的单个值更新一个数据框的列值。这是代码:

tmp = df[df['UnifiedInvoiceID'] == inv]
mask = (df_invoice_features['UnifiedInvoiceID'] == inv)
df_invoice_features[mask, 'UnifiedCustomerID'] = tmp[0, 'UnifiedCustomerID']

而且,这是错误:

PySeries.new_u64() missing 1 required positional argument: '_strict'

您认为为什么会返回这样的错误?

最佳答案

Polars 的语法与 pandas 的非常不同。在我看来,您正在尝试修改值,就像您在 pandas DataFrame 上所做的那样。

以下是如何设置列值的示例:

df = pl.DataFrame({
"a": [1, 2, 3, 4, 5],
"b": list("abcde")
})

df.with_column(
pl.when(pl.col("a") > 3).then(10).otherwise(pl.col("a")).alias("new")
)

输出:

shape: (5, 3)
┌─────┬─────┬─────┐
│ a ┆ b ┆ new │
│ --- ┆ --- ┆ --- │
│ i64 ┆ str ┆ i64 │
╞═════╪═════╪═════╡
│ 1 ┆ a ┆ 1 │
├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
│ 2 ┆ b ┆ 2 │
├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
│ 3 ┆ c ┆ 3 │
├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
│ 4 ┆ d ┆ 10 │
├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
│ 5 ┆ e ┆ 10 │
└─────┴─────┴─────┘

如果你举一个小例子,我可以举一个更彻底的例子。我还建议阅读用户指南,尤其是表达式指南:https://pola-rs.github.io/polars-book/user-guide/dsl/intro.html

关于python-3.x - 基于 Python Polars 列的更新不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69628200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com