使用 Ibis 返回表中每个数字列的聚合

问题描述 投票:0回答:1

我想使用 Ibis 返回表中每个浮点数字列的平均值和标准差。我该怎么做?

python ibis
1个回答
0
投票

这是一个独立的示例,它使用 Ibis 返回鸢尾花数据集中每个浮点列的平均值和标准差。这使用 Ibis 选择器

import ibis
from ibis import _
import ibis.selectors as s
import ibis.expr.datatypes as dt
import seaborn as sns

iris = ibis.memtable(sns.load_dataset("iris"))

iris.aggregate(
    s.across(
        s.of_type(dt.float()),
        dict(mean=ibis._.mean(), std=ibis._.std())
    )
)

返回:

┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ sepal_length_mean ┃ sepal_width_mean ┃ petal_length_mean ┃ petal_width_mean ┃ sepal_length_std ┃ sepal_width_std ┃ petal_length_std ┃ petal_width_std ┃
┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│ float64           │ float64          │ float64           │ float64          │ float64          │ float64         │ float64          │ float64         │
├───────────────────┼──────────────────┼───────────────────┼──────────────────┼──────────────────┼─────────────────┼──────────────────┼─────────────────┤
│          5.843333 │         3.057333 │             3.758 │         1.199333 │         0.828066 │        0.435866 │         1.765298 │        0.762238 │
└───────────────────┴──────────────────┴───────────────────┴──────────────────┴──────────────────┴─────────────────┴──────────────────┴─────────────────┘
© www.soinside.com 2019 - 2024. All rights reserved.