我想使用 Ibis 返回表中每个浮点数字列的平均值和标准差。我该怎么做?
这是一个独立的示例,它使用 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 │
└───────────────────┴──────────────────┴───────────────────┴──────────────────┴──────────────────┴─────────────────┴──────────────────┴─────────────────┘