python 是否可以使用极坐标计算一条链中的计数和百分比?

hmae6n7t  于 2023-01-12  发布在  Python
关注(0)|答案(1)|浏览(128)

从其他两极的答案来看,似乎大多数事情都可以在一个单一的链条中完成。下面的例子有可能吗?有没有可能简化?

import polars as pl
scores = pl.DataFrame({
    'zone': ['North', 'North', 'North', 'South', 'East', 'East', 'East', 'East'],
    'score': [78, 39, 76, 56, 67, 89, 100, 55]
})

cnt = scores.groupby("zone").count()
cnt.with_column(
    (100 * pl.col("count") / pl.col("count").sum())
    .round(2)
    .cast(str)
    .str.replace("$", "%")
    .alias("perc")
)
eit6fx6z

eit6fx6z1#

刚问完这个问题就注意到下面的帖子。请根据需要随时关闭。
Best way to get percentage counts in Polars

(
    scores.groupby("zone")
    .agg([pl.count().alias("count")])
    .with_column(
        (pl.col("count") * 100 / pl.sum("count"))
        .round(2)
        .cast(str)
        .str.replace("$", "%")
        .alias("perc")
    )
)
shape: (3, 3)
┌───────┬───────┬───────┐
│ zone  ┆ count ┆ perc  │
│ ---   ┆ ---   ┆ ---   │
│ str   ┆ u32   ┆ str   │
╞═══════╪═══════╪═══════╡
│ South ┆ 1     ┆ 12.5% │
│ North ┆ 3     ┆ 37.5% │
│ East  ┆ 4     ┆ 50.0% │
└───────┴───────┴───────┘

相关问题