小编seb*_*704的帖子

Polars 分类功能和惰性 api 无法按预期工作

我正在尝试借助分类功能和惰性 API 来连接两个 Dataframe。我尝试按照用户指南中描述的方式进行操作(https://pola-rs.github.io/polars-book/user-guide/performance/strings.html

count = admin_df.groupby(['admin','EVENT_DATE']).pivot(pivot_column='FIVE_TYPE',values_column='count').first().lazy()
fatalities = admin_df.groupby(['admin','EVENT_DATE']).pivot(pivot_column='FIVE_TYPE',values_column='FATALITIES').first().lazy()
fatalities = fatalities.with_column(pl.col("admin").cast(pl.Categorical))
count = count.with_column(pl.col("admin").cast(pl.Categorical))
admin_df = fatalities.join(count,on=['admin','EVENT_DATE']).collect()
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

    Traceback (most recent call last):
  File "country_level.py", line 33, in <module>
    country_level('/c/Users/Sebastian/feast/fluent_sunfish/data/ACLED_geocoded.parquet')
  File "country_level.py", line 10, in country_level
    country_df=aggregate_by_date(df)
  File "country_level.py", line 29, in aggregate_by_date
    admin_df = fatalities.join(count,on=['admin','EVENT_DATE']).collect()
  File "/home/sebastian/.local/lib/python3.8/site-packages/polars/internals/lazy_frame.py", line 293, in collect
    return pli.wrap_df(ldf.collect())
RuntimeError: Any(ValueError("joins on categorical dtypes can only happen if they are created under the same global string cache"))
Run Code Online (Sandbox Code Playgroud)

使用with pl.StringCache():一切都可以正常工作,尽管用户指南说如果您使用惰性 …

python python-polars

6
推荐指数
1
解决办法
1799
查看次数

在 Polars 中将多个日期时间字符串列合并为一列

我有以下带有 pandas 的 Python 代码

df['EVENT_DATE'] = df.apply(
        lambda row: datetime.date(year=row.iyear, month=row.imonth, day=row.iday).strftime("%Y-%m-%d"), axis=1)
Run Code Online (Sandbox Code Playgroud)

并希望将其转换为有效的 Polars 代码。有人有办法解决这个问题吗?

python python-polars

3
推荐指数
1
解决办法
6235
查看次数

如何重新启动 Oracle 数据库?

由于 SPFile 中的视图更改,我必须重新启动 Oracle 数据库。我尝试关机和启动,但我不知道如何再次以正确的方式启动。

database oracle restart

2
推荐指数
1
解决办法
2万
查看次数

我们如何对极坐标中的时间序列进行重新采样

我想将表达式与 groupby 一起使用,每月进行下采样,因为下采样函数将被弃用。有没有一种简单的方法可以做到这一点,datetime.timedelta 仅适用于天数及更短的时间。

python python-polars

2
推荐指数
1
解决办法
3808
查看次数

将极坐标中的日期时间[ms] 转换为日期时间[ns]

我想将极坐标中类型为 datetype[ms] 的列转换为 datetime[ns] 。有没有简单的方法可以做到这一点?我认为使用 datetime[ms] 时 group_by_dynamic 有问题,我想测试一下

python datetime python-polars

2
推荐指数
1
解决办法
3268
查看次数

标签 统计

python ×4

python-polars ×4

database ×1

datetime ×1

oracle ×1

restart ×1