我有这个关于极地的脚本...
import polars as pl
from faker import Faker
fake = Faker(locale='fr_FR')
def my_func():
operation = fake.unique.pystr_format(
string_format='??###',
letters='abcdefghijklmnopqrstuvwxyz').upper()
return operation
my_df = pl.DataFrame({
"Date":[date(2023, 1, 2), date(2023, 1, 2), date(2023, 1, 2),
date(2023, 3, 5), date(2023, 3, 17), date(2023, 3, 17),
date(2023, 3, 17), date(2023, 3, 17), date(2023, 5, 1),
date(2023, 5, 17), date(2023, 5, 17), date(2023, 5, 17)],
"Invoice":['001', '001', '001', '002',
'003', '003', '003', '003',
'004', '005', '005', '005'],
"Amount":[250, 250, 250, 300,
450, 450, 450, 450,
500, 650, 650, 650],
'Operation':['', '', '', '',
'', '', '', '',
'', '', '', '',]
})
my_df.with_columns(
pl.when(pl.col('Invoice') != pl.col('Invoice').shift())
.then(pl.col('Operation').map_elements(lambda x : my_func()))
.otherwise(pl.col('Operation').shift()))
它给出以下结果:
日期 | 发票 | 金额 | 操作 |
---|---|---|---|
2023-01-02 00:00:00 | 001 | 250 | |
2023-01-02 00:00:00 | 001 | 250 | |
2023-01-02 00:00:00 | 001 | 250 | |
2023-03-05 00:00:00 | 002 | 300 | WV068 |
2023-03-17 00:00:00 | 003 | 450 | KL429 |
2023-03-17 00:00:00 | 003 | 450 | |
2023-03-17 00:00:00 | 003 | 450 | |
2023-03-17 00:00:00 | 003 | 450 | |
2023-05-01 00:00:00 | 004 | 500 | VF254 |
2023-05-17 00:00:00 | 005 | 650 | NT977 |
2023-05-17 00:00:00 | 005 | 650 | |
2023-05-17 00:00:00 | 005 | 650 |
我的 shift() 函数有问题 -> 我无法得到这个结果:
日期 | 发票 | 金额 | 操作 |
---|---|---|---|
2023-01-02 00:00:00 | 001 | 250 | |
2023-01-02 00:00:00 | 001 | 250 | |
2023-01-02 00:00:00 | 001 | 250 | |
2023-03-05 00:00:00 | 002 | 300 | WV068 |
2023-03-17 00:00:00 | 003 | 450 | KL429 |
2023-03-17 00:00:00 | 003 | 450 | KL429 |
2023-03-17 00:00:00 | 003 | 450 | KL429 |
2023-03-17 00:00:00 | 003 | 450 | KL429 |
2023-05-01 00:00:00 | 004 | 500 | VF254 |
2023-05-17 00:00:00 | 005 | 650 | NT977 |
2023-05-17 00:00:00 | 005 | 650 | NT977 |
2023-05-17 00:00:00 | 005 | 650 | NT977 |
你能帮我吗?
提前谢谢您
我可能会帮助您解决 Python Polar 库中的 shift() 函数的问题。以下是其中一些:
我希望这些网络搜索结果对您有所帮助。如果您需要更多信息,可以访问我们的[网站]1了解更多有关Python编程的提示和技巧。祝你今天过得愉快! 😊