Dataset APIs
columns
描述:获取Dataset的所有列的列名集合。
语法格式:
columns()
输入参数:无
返回值类型:tuple[str, ...]
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*',
... secret_key='*'
...
...
... )
>>> ds = con.load_dataset("demo_table_10", database='my_schema')
>>> ds.columns
('species',
'island',
'bill_length_mm',
'bill_depth_mm', 'flipper_length_mm') add_column
描述:给一个Dataset添加列。
语法格式:
add_column(*exprs, **mutations)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| exprs | 否 | Union[Sequence[Expr], None] | 要添加为列的命名表达式序列。 |
| mutations | 否 | Value | 使用关键字参数的命名表达式。 |
返回值类型:已添加新列的Dataset。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_6", database='my_schema')
>>> ds
| species | bill_length_mm |
| ------- | -------------- |
| string | float64 |
| ------- | -------------- |
| Adelie | 40.0 |
| Adelie | 41.0 |
| Adelie | 42.0 |
| Adelie | 43.0 |
#Add a new column from a per-element expression
>>> ds.add_column(new_col=ds.bill_length_mm + 1)
| species | bill_length_mm | new_col |
| ------- | -------------- | -------- |
| string | float64 | float64 |
| ------- | -------------- | -------- |
| Adelie | 40.0 | 41.0 |
| Adelie | 41.0 | 42.0 |
| Adelie | 42.0 | 43.0 |
| Adelie | 43.0 | 44.0 | drop_columns
描述:删除Dataset的列。
语法格式:
drop_columns(*fields)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| fields | 是 | str | 被删除列的列名。 |
返回值类型:删除列后的Dataset。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_12", database='my_schema')
>>> ds
| species | island | bill_length_mm | bill_depth_mm | flipper_length_mm |
| ------- | --------- | -------------- | ------------- | ----------------- |
| string | string | float64 | float64 | int64 |
| ------- | --------- | -------------- | ------------- | ----------------- |
| Adelie | Torgersen | 40.0 | 22.0 | 180 |
| Adelie | Torgersen | 41.0 | 19.0 | 183 |
| Adelie | Torgersen | 42.0 | 20.0 | 190 |
| Adelie | Torgersen | 43.0 | 23.0 | 185 |
# Drop one or more columns
>>> ds.drop_columns("species")
| island | bill_length_mm | bill_depth_mm | flipper_length_mm |
| --------- | -------------- | ------------- | ----------------- |
| string | float64 | float64 | int64 |
| --------- | -------------- | ------------- | ----------------- |
| Torgersen | 40.0 | 22.0 | 180 |
| Torgersen | 41.0 | 19.0 | 183 |
| Torgersen | 42.0 | 20.0 | 190 |
| Torgersen | 43.0 | 23.0 | 185 | aggregate
描述:通过指定分组字段,用一组聚合函数对数据集进行聚合。
语法格式:
aggregate(metrics=(), /, *, by=(), having=(), **kwargs)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| metrics | 否 | Union[Sequence[AggregateFnBuilder], None] | 聚合表达式,这类表达式可以是任何能生成标量值的表达式,其中包括聚合函数,例如sum。 |
| by | 否 | Union[Sequence[Value], None] | 分组表达式,一般设为Dataset的列名集合。 |
| having | 否 | Union[Sequence[BooleanValue], None] | 聚合后过滤器。其数据维度应该与metrics相同,且having(子句)的输出类型为布尔型。 |
| kwargs | 否 | - | 命名的聚合表达式。 |
返回值类型:聚合后的Dataset。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_13", database='my_schema')
>>> ds
| fruit | price |
| ------ | ----- |
| apple | 0.50 |
| apple | 0.50 |
| banana | 0.25 |
| orange | 0.33 |
>>> ds.aggregate(
... by=["fruit"],
... total_cost=ds.price.sum(),
... avg_cost=ds.price.mean(),
... having=ds.price.sum() < 0.5,
... ).order_by("fruit")
| fruit | total_cost | avg_cost |
| ------ | ---------- | -------- |
| string | float64 | float64 |
| ------ | ---------- | -------- |
| banana | 0.25 | 0.25 |
| orange | 0.33 | 0.33 | count
描述:计算该Dataset的总行数。
语法格式:
count()
输入参数:无
返回值类型:int
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_11", database='my_schema')
>>> ds
| a |
| ----- |
| string|
| ----- |
| foo |
| bar |
| baz |
>>> ds.count()
┌─┐
│ 3│
└─┘ execute
描述:执行表达式。
语法格式:
execute(*, limit='default', params=None, block=False, **kwargs)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| limit | 否 | Union[int, str, None] | 限定表达式执行结果的总行数。 |
| params | 否 | Union[Mapping[Value, Any], None] | 标量参数表达式到值的映射。 |
| block | 否 | bool | 表示是否异步执行,若为True,就返回AsyncJob对象。 |
| kwargs | 否 | - | 关键字参数 |
返回值类型:Union[pandas.DataFrame, pandas.Series, AsyncJob ,Any]
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_8", database='my_schema')
>>> ds.execute()
a b
0 1 c
1 1 a
2 2 a
[3 rows x 2 columns] filter
描述:过滤掉不满足条件的行。
语法格式:
filter(expr=None, fn=None, on=None, num_cpus=None, memory=None, arch=None, device=None, model=None, num_models=None, concurrency=None, **fn_constructor_kwargs)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| expr | 否 | Union[list[ir.BooleanValue], Sequence[ir.BooleanValue], IfAnyAll, None] | 表达式字符串,需为有效的Python表达式。 |
| on | 否 | Union[str, list[str]] | 用于应用函数的列。 |
| fn | 否 | Union[str, Callable, None] | 可调用的函数,或函数名称。 |
| num_cpus | 否 | Union[float, None] | CPU的数量。 |
| memory | 否 | Union[int, None] | 内存大小,单位为MB。 |
| arch | 否 | Union[str, None] | 架构类型,参数值为x86或arm。 |
| device | 否 | Union[str, None] | AI处理单元的类型名,参数值为NPU或GPU。 |
| model | 否 | Union[str, None] | AI处理单元型号,例如910B、A100等。 |
| num_models | 否 | Union[float, None] | AI处理单元的数量,仅NPU和GPU支持配置。 |
| concurrency | 否 | Union[int, Tuple[int, int], None] | 函数执行时的并发度。 |
| fn_constructor_kwargs | 否 | - | 构造参数,只有当fn为可调用类时,才能提供此项。 |
返回值类型:过滤掉不满足条件的行后的Dataset。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_3", database='my_schema')
>>> ds = ds.filter(expr=[ds.a < 2])
>>> ds
| a | b |
| ----- | ----- |
| int64 | string|
| ----- | ----- |
| 1 | c |
| 1 | a |
# Filtered by User-defined functions
# my_schema.id_filter:inputting an int value, returning false if value is larger than 2.
>>> ds = con.load_dataset("demo_table_2", database='my_schema')
>>> ds = ds.filter(
... fn='my_schema.id_filter',
... on='a',
... )
>>> ds
| a | b |
| ----- | ----- |
| int64 | string|
| ----- | ----- |
| 1 | c |
| 1 | a | flat_map
描述:将给定的函数应用于每一行,并对结果进行展平。
语法格式:
flat_map(fn, on, as_col=None, num_cpus=None, memory=None, arch=None, device=None, model=None, num_models=None, concurrency=None, **fn_constructor_kwargs)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| fn | 是 | Union[str, Callable] | 可调用的函数或其名称,例如myschema.myfunction。 |
| on | 是 | Union[str, list[str], ] | 要应用函数的列或列的集合。 |
| as_col | 否 | Union[str, list[str], None] | 输出新列的名称。as_col的长度必须与fn返回的结构体中字段数量一致。 |
| num_cpus | 否 | Union[float, None] | CPU的数量。 |
| memory | 否 | Union[int, None] | 内存大小,单位为MB。 |
| arch | 否 | Union[str, None] | 架构类型,参数值为x86或arm。 |
| device | 否 | Union[str, None] | AI处理单元的类型名,参数值为NPU或GPU。 |
| model | 否 | Union[str, None] | AI处理单元型号,例如910B、A100等。 |
| num_models | 否 | Union[float, None] | AI处理单元的数量,仅NPU和GPU支持配置。 |
| concurrency | 否 | Union[int, Tuple[int, int], None] | 函数执行时的并发度。 |
| fn_constructor_kwargs | 否 | - | 构造参数,只有当fn为可调用类时,才能提供此项。 |
返回值类型:
Dataset :调用函数后包含名为as_col的新列的数据集。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_2", database='my_schema')
>>> ds.execute()
a b c
0 1 4 1
[1 rows x 3 columns]
>>> ds = ds.flat_map(
... fn='my_schema.py_generate_series',
... on=['a', 'b', 'c'],
... as_col=['outCol'])
>>> ds
| a | b | c | outCol |
| ----- | ----- | ----- | ------ |
| int64 | int64 | int64 | int64 |
| ----- | ----- | ----- | ------ |
| 1 | 4 | 1 | 1 |
| 1 | 4 | 1 | 2 |
| 1 | 4 | 1 | 3 |
| 1 | 4 | 1 | 4 |
# Access table columns using the ds.attribute (dot notation) style
>>> ds = ds.flat_map(
... fn='my_schema.py_generate_series',
... on=[ds.a, ds.b, ds.c],
... as_col='udtf_col')
>>> ds
| a | b | c | udtf_col |
| ----- | ----- | ----- | -------- |
| int64 | int64 | int64 | int64 |
| ----- | ----- | ----- | -------- |
| 1 | 4 | 1 | 1 |
| 1 | 4 | 1 | 2 |
| 1 | 4 | 1 | 3 |
| 1 | 4 | 1 | 4 | map_batches
描述:将给定的函数应用于批量数据。
语法格式:
map_batches(fn, on, as_col=None, num_cpus=None, memory=None, arch=None, device=None, model=None, num_models=None, concurrency=None, **fn_constructor_kwargs)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| fn | 是 | Union[str, Callable] | 可调用的函数或其名称,例如myschema.myfunction。 |
| on | 是 | Union[str, list[str], ] | 要应用函数的列或列的集合。 |
| as_col | 否 | Union[str, list[str], None] | 输出新列的名称。as_col的长度必须与fn返回的结构体中字段数量一致。 |
| num_cpus | 否 | Union[float, None] | CPU的数量。 |
| memory | 否 | Union[int, None] | 内存大小,单位为MB。 |
| arch | 否 | Union[str, None] | 架构类型,参数值为x86或arm。 |
| device | 否 | Union[str, None] | AI处理单元的类型名,取值为NPU或GPU。 |
| model | 否 | Union[str, None] | AI处理单元型号,例如910B、A100等。 |
| num_models | 否 | Union[float, None] | AI处理单元的数量,仅NPU和GPU支持配置。 |
| concurrency | 否 | Union[int, Tuple[int, int], None] | 函数执行时的并发度。 |
| fn_constructor_kwargs | 否 | - | 构造参数,只有当fn为可调用类时,才能提供此项。 |
返回值类型:
Dataset:调用函数后包含名为as_col的新列的数据集。
groupby
描述:创建一个分组的Dataset。
语法格式:
groupby(*by, **key_exprs)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| by | 否 | Union[str, Iterable[str], None] | 分组表达式。 |
| key_exprs | 否 | Union[str, Iterable[str]] | 命名的分组表达式。 |
返回值类型:一个分组后的Dataset。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_14", database='my_schema')
>>> ds
| fruit | price |
| ------ | ----- |
| string | float |
| ------ | ----- |
| apple | 0.50 |
| apple | 0.50 |
| banana | 0.25 |
| orange | 0.33 | join
描述:在两个Dataset之间执行join操作。
语法格式:
join(ds, /, on=(), *, join_type='inner', left_suffix='left_', right_suffix='right_')
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| ds | 是 | Dataset | 右侧要连接的数据集。 |
| on | 否 | Union[str, Sequence[Union[str, BooleanColumn, Literal[True], Literal[False], tuple[str, str]]]] | 连接条件,详见示例。 |
| join_type | 否 | JoinKind | 连接方法,如 "inner" 或 "left"。 |
| left_suffix | 否 | str | 用于重命名左侧表中重叠列的格式字符串后缀(例如 "left_")。 |
| right_suffix | 否 | str | 用于重命名右侧表中重叠列的格式字符串后缀(例如 "right_")。 |
返回值类型:join后的Dataset。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds1 = con.load_dataset("demo_table_15", database='my_schema')
>>> ds2 = con.load_dataset("demo_table_16", database='my_schema')
# Equality inner join on the shared id column. Note the _right suffix added to all overlapping columns from the right # table (in this case only the "id" column).
>>> ds1.join(ds2, "id", join_type="inner")
| id | fruit | price | color |
| ------ | ------- | ------- | ------------- |
| int64 | string | float64 | string |
| ------ | ------- | ------- | ------------- |
| 2 | apple | 0.25 | Yellow |
| 3 | banana | 0.33 | Orange |
# Explicit equality join using the default join_type value of "inner". Note join_type there is no _right suffix added # to the movieId column since this is an inner join and the movieId column is part of the join condition.
>>> ds1.join(ds2, ds1.id == ds2.id)
| id | fruit | price | color |
|--------|---------|---------|---------------|
| int64 | string | float64 | string |
|--------|---------|---------|---------------|
| 2 | apple | 0.25 | Yellow |
| 3 | banana | 0.33 | Orange | map
描述:对当前Dataset的每一行应用给定函数。
语法格式:
map(fn, on, as_col=None, num_cpus=None, memory=None, arch=None, device=None, model=None, num_models=None, concurrency=None, **fn_constructor_kwargs)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| fn | 是 | Union[str, Callable] | 可调用函数或其名称,如myschema.myfunction。 |
| on | 是 | Union[str, list[str], ] | 要应用函数的列或列的集合。 |
| as_col | 否 | Union[str, list[str], None] | 输出新列的名称。as_col的长度必须与fn返回的结构体中字段数量一致。 |
| num_cpus | 否 | Union[float, None] | CPU的数量。 |
| memory | 否 | Union[int, None] | 内存大小,单位为MB。 |
| arch | 否 | Union[str, None] | 架构类型,取值为x86或arm。 |
| device | 否 | Union[str, None] | AI处理单元的类型名,取值为NPU或GPU。 |
| model | 否 | Union[str, None] | AI处理单元型号,例如910B、A100等。 |
| num_models | 否 | Union[float, None] | AI处理单元的数量,仅NPU和GPU支持配置。 |
| concurrency | 否 | Union[int, Tuple[int, int], None] | 函数执行时的并发度。 |
| fn_constructor_kwargs | 否 | - | 构造参数,只有当fn为可调用类时,才能提供此项。 |
返回值类型:
Dataset:调用函数后包含新列(列名为as_col)的数据集。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table", database='my_schema')
>>> ds = ds.map(
... fn='my_schema.multiply_2',
... on=['col_a'],
... as_col='col_c'
... )
>>> ds
| col_a | col_b | col_c |
|-------|-------|-------|
| int64 | string | int64 |
|-------|-------|-------|
| 1 | c | 2 |
| 1 | a | 2 |
| 2 | a | 4 | order_by
描述:根据一个或多个表达式对Dataset进行排序。
语法格式:
order_by(key, descending=False)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| key | 否 | Union[str, List[str], None] | 用于排序的表达式。 |
| descending | 否 | Union[bool, List[bool]] | 是否按降序排序(DESC),默认为False。 |
返回值类型:排序后的Dataset。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_15", database='my_schema')
>>> ds
| a | b | c |
|-------|--------|-------|
| 3 | a | 4 |
| 2 | B | 6 |
| 1 | c | 5 |
| 3 | D | 7 |
# Sort by b. Default is ascending. Note how capital letters come before lowercase
>>> ds.order_by("b")
| a | b | c |
|-------|--------|-------|
| int64 | string | int64 |
|-------|--------|-------|
| 2 | B | 6 |
| 3 | D | 7 |
| 3 | a | 4 |
| 1 | c | 5 |
# Sort in descending order
>>> ds.order_by(ds.b.desc())
| a | b | c |
|-------|--------|-------|
| int64 | string | int64 |
|-------|--------|-------|
| 1 | c | 5 |
| 3 | a | 4 |
| 3 | D | 7 |
| 2 | B | 6 |
# Sort by multiple columns/expressions
>>> ds.order_by(["a", ds.c.desc()])
| a | b | c |
|-------|--------|-------|
| int64 | string | int64 |
|-------|--------|-------|
| 1 | c | 5 |
| 2 | B | 6 |
| 3 | D | 7 |
| 3 | a | 4 | rename_columns
描述:重命名Dataset中的列。
语法格式:
rename_columns(names, /, **substitutions)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| names | 是 | Mapping[str, str] | 映射(字典),以 {新列名: 旧列名} 的形式指定重命名规则,未在映射中出现的列将保留原名。 |
| substitutions | 否 | str | 显式重命名的列,以关键字参数形式指定,格式为新名=旧名。 |
返回值类型:重命名后的新Dataset。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_8", database='my_schema')
>>> ds
| a | b |
|-------|--------|
| int64 | string |
|-------|--------|
| 1 | c |
| 1 | a |
| 2 | a |
>>> ds.rename_columns({"rename_col": "a"})
| rename_col | b |
|------------|--------|
| int64 | string |
|------------|--------|
| 1 | c |
| 1 | a |
| 2 | a | schema
描述:返回Dataset的schema。
语法格式:
schema()
输入参数:无。
返回值类型:Schema对象。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_7", database='my_schema')
>>> ds.schema()
ibis.Schema {
species string
island string
bill_length_mm float64
bill_depth_mm float64
flipper_length_mm int64
} select_columns
描述:从Dataset的列中选取指定的列。
语法格式:
select_columns(*exprs, **named_exprs)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| exprs | 是 | Union[Value, str, Iterable[Union[Value, str]]] | 列表达式、列名字符串,或由列表达式和列名字符串组成的列表。 |
| named_exprs | 否 | Union[Value, str] | 列表达式(支持命名参数形式)。 |
返回值类型:包含选定列的Dataset。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_5", database='my_schema')
>>> ds.select_columns("species", "bill_length_mm")
| species | bill_length_mm |
|------------|----------------|
| string | float64 |
|------------|----------------|
| Adelie | 40.0 |
| Adelie | 41.0 |
| Adelie | 42.0 |
| Adelie | 43.0 |
# Selection by zero-indexed column position
>>> ds.select_columns(ds[0], ds[4])
| species | flipper_length_mm |
|------------|-------------------|
| string | int64 |
|------------|-------------------|
| Adelie | 180 |
| Adelie | 183 |
| Adelie | 190 |
| Adelie | 185 | show
描述:显示查询结果生成的数据。
语法格式:
show(limit=10)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| limit | 否 | int | 限制输出的行数,默认为10。 |
返回值类型:None。
take
描述:从Dataset中返回最多limit行数据,该方法适用于数据检查和预览。
语法格式:
take(limit)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| limit | 是 | int | 要返回的最大行数。 |
返回值类型: list[dict[str, Any]] :包含数据集中最多limit行的列表,每行以字典形式表示。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_9", database='my_schema')
>>> ds.take(3)
[{'a': 1}, {'a': 1}, {'a': 2}] max
描述:计算Dataset中指定列的最大值。
语法格式:
max(on=None)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| on | 否 | Union[str, list[str], None] | 指定要计算最大值的列。 |
返回值类型:Dataset
min
描述:计算Dataset中指定列的最小值。
语法格式:
min(on=None)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| on | 否 | Union[str, list[str], None] | 指定要计算最小值的列。 |
返回值类型:Dataset
mean
描述:计算Dataset中指定列的均值。
语法格式:
mean(on=None)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| on | 否 | Union[str, list[str], None] | 指定要计算均值的列。 |
返回值类型:Dataset。
unique
描述:计算Dataset中指定列的唯一值集合。
语法格式:
unique(col)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| col | 是 | str | 指定要计算唯一值的列。 |
返回值类型:list。
limit
描述:从当前Dataset中选择行,起始位置为偏移量。
语法格式:
limit(n, /, *, offset=0)
输入参数:
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| n | 否 | Union[int, None] | 要包含的行数。如果为None,则从偏移量开始选择整个数据集。 |
| offset | 否 | int | 起始跳过的行数。 |
返回值类型:
Dataset :从偏移量开始的n行数据。
示例:
>>> from aura_frame.multimodal import ai_lake
>>> con = ai_lake.connect(
... aura_endpoint='*',
... access_key='*'
... secret_key='*'
... ...
... )
>>> ds = con.load_dataset("demo_table_4", database='my_schema')
>>> ds
| a | b |
|-------|--------|
| int64 | string |
|-------|--------|
| 1 | c |
| 1 | a |
| 2 | a |
>>> ds.limit(2)
| a | b |
|-------|--------|
| int64 | string |
|-------|--------|
| 1 | c |
| 1 | a |
| 2 | a |
# use None with offset to slice starting from a particular row
>>> ds.limit(None, offset=1)
| a | b |
|--------|--------|
| int64 | string |
|--------|--------|
| 1 | a |
| 2 | a |