查询数据集
更新时间:2025-02-27
功能介绍
本文介绍查询Dataset数据集相关操作,包括查询数据集某一行、多行数据,查询某一列、多列数据、中括号查询等。
注意事项
- 本文功能只适用于Python SDK。
- 调用本文API,需使用安全认证AK/SK鉴权,调用流程及鉴权介绍详见SDK安装及使用流程。
- 查询千帆平台的数据集需要bos账户。
支持的功能列表
功能 | 函数 | 描述 |
---|---|---|
行查询 | list() | 支持以下功能: · 根据下标查询某一行 · 根据下标查询多行 · 根据下标查询某闭区间内多行 |
列查询 | col_list() | 支持以下功能: · 根据下标查询某一列 · 根据下标查询多列 · 根据列名查询某一列 · 根据列名查询多列 |
行查询(中括号) | / | 支持以下功能: · 根据下标查询某一行 · 根据下标查询多行 · 根据下标查询某闭区间内多行 |
列查询(中括号) | / | 支持以下功能: · 根据列名查询某一列 · 根据列名查询多列 |
调用步骤
步骤一,配置鉴权。使用安全认证AK/SK鉴权,通过环境变量方式初始化。
步骤二,定义数据集,调用create_from_pyobj()定义数据集。
步骤三,进行查询数据集相关操作。例如调用list()进行行查询。
定义数据集
例如数据集如下:
import os
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
from qianfan.dataset import Dataset
# 定义数据集
ds = Dataset.create_from_pyobj([
{
"column_name1": "column1_row1",
"column_name2": "column2_row1",
"column_name3": "column3_row1",
},
{
"column_name1": "column1_row2",
"column_name2": "column2_row2",
"column_name3": "column3_row2",
},
{
"column_name1": "column1_row3",
"column_name2": "column2_row3",
"column_name3": "column3_row3",
}
])
行查询
请求示例
import os
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
# 定义数据集
from qianfan.dataset import Dataset
ds = Dataset.create_from_pyobj([
{
"column_name1": "column1_row1",
"column_name2": "column2_row1",
"column_name3": "column3_row1",
},
{
"column_name1": "column1_row2",
"column_name2": "column2_row2",
"column_name3": "column3_row2",
},
{
"column_name1": "column1_row3",
"column_name2": "column2_row3",
"column_name3": "column3_row3",
}
])
# 查询某一行,如第0行
print(ds.list(0))
# 查询指定下标的行,如第0行、第2行
print(ds.list([0, 2]))
# 取闭区间内的行,如第0行~第1行
print(ds.list(slice(0, 1)))
返回示例
# 查询某一行,如第0行
{'column_name1': 'column1_row1', 'column_name2': 'column2_row1', 'column_name3': 'column3_row1'}
# 查询指定下标的行,第0行、第2行内容
[{'column_name1': 'column1_row1', 'column_name2': 'column2_row1', 'column_name3': 'column3_row1'}, {'column_name1': 'column1_row3', 'column_name2': 'column2_row3', 'column_name3': 'column3_row3'}]
# 取闭区间内的行,第0行、第1行内容
[{'column_name1': 'column1_row1', 'column_name2': 'column2_row1', 'column_name3': 'column3_row1'}, {'column_name1': 'column1_row2', 'column_name2': 'column2_row2', 'column_name3': 'column3_row2'}]
请求参数
- 根据下标查询某一行
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
无 | int | 是 | 取数据集指定下标的行 |
- 根据下标查询多行
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
无 | List[int] 或 Tuple[int] | 是 | 根据下标查询多行 |
- 根据下标查询某闭区间内多行
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
无 | slice | 是 | 查询某闭区间内多行 |
返回参数
返回对应数据集数据。
列查询
请求示例
import os
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
# 定义数据集
from qianfan.dataset import Dataset
ds = Dataset.create_from_pyobj([
{
"column_name1": "column1_row1",
"column_name2": "column2_row1",
"column_name3": "column3_row1",
},
{
"column_name1": "column1_row2",
"column_name2": "column2_row2",
"column_name3": "column3_row2",
},
{
"column_name1": "column1_row3",
"column_name2": "column2_row3",
"column_name3": "column3_row3",
}
])
# 根据下标查询某一列,如第0列
print(ds.col_list(0))
# 根据下标查询多列,如第0列、第2列
print(ds.col_list([0, 2]))
# 根据列名查询某一列,如column_name1
print(ds.col_list("column_name1"))
# 根据列名查询多列,如column_name1、column_name3
print(ds.col_list(["column_name1", "column_name3"]))
返回示例
# 根据下标查询某一列,如第0列,返回示例
{'column_name1': ['column1_row1', 'column1_row2', 'column1_row3']}
# 根据下标查询多列,如第0列、第2列,返回示例
{'column_name1': ['column1_row1', 'column1_row2', 'column1_row3'], 'column_name3': ['column3_row1', 'column3_row2', 'column3_row3']}
# 根据列名查询某一列,如column_name1
{'column_name1': ['column1_row1', 'column1_row2', 'column1_row3']}
# 根据列名查询多列,如column_name1、column_name3,返回示例
{'column_name1': ['column1_row1', 'column1_row2', 'column1_row3'], 'column_name3': ['column3_row1', 'column3_row2', 'column3_row3']}
请求参数
- 根据下标查询某一列
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
无 | int | 是 | 查询数据集指定下标的某列 |
- 根据下标查询多列
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
无 | List[int]|Tuple[int] | 是 | 根据下标查询多列 |
- 根据列名查询某一列
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
无 | str | 是 | 根据列名查询某一列 |
- 根据列名查询多列
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
无 | List[str]|Tuple[str] | 是 | 根据列名查询多列 |
返回参数
返回对应数据集数据。
行查询(中括号)
请求示例
import os
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
# 定义数据集
from qianfan.dataset import Dataset
ds = Dataset.create_from_pyobj([
{
"column_name1": "column1_row1",
"column_name2": "column2_row1",
"column_name3": "column3_row1",
},
{
"column_name1": "column1_row2",
"column_name2": "column2_row2",
"column_name3": "column3_row2",
},
{
"column_name1": "column1_row3",
"column_name2": "column2_row3",
"column_name3": "column3_row3",
}
])
## 根据下标查询某一行,如第0行
print(ds[0])
## 根据下标查询多行,如第0行、第2行内容
print(ds[[0, 2]])
## 根据下标查询闭区间内的行,如第0行、第1行内容
print(ds[slice(0, 1)])
返回示例
# 根据下标查询某一行,如第0行
{'column_name1': 'column1_row1', 'column_name2': 'column2_row1', 'column_name3': 'column3_row1'}
# 根据下标查询多行,如第0行、第2行内容
[{'column_name1': 'column1_row1', 'column_name2': 'column2_row1', 'column_name3': 'column3_row1'}, {'column_name1': 'column1_row3', 'column_name2': 'column2_row3', 'column_name3': 'column3_row3'}]
# 根据下标查询闭区间内的行,如第0行、第1行内容
[{'column_name1': 'column1_row1', 'column_name2': 'column2_row1', 'column_name3': 'column3_row1'}, {'column_name1': 'column1_row2', 'column_name2': 'column2_row2', 'column_name3': 'column3_row2'}]
请求参数
- 根据下标查询某一行
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
无 | int | 是 | 根据下标查询数据集某一行内容 |
- 根据下标查询数据集多个指定行内容
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
无 | List[int]|Tuple[int] | 是 | 根据下标查询数据集多行内容 |
- 根据下标查询数据集多行内容
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
无 | slice | 是 | 查询闭区间内的多行内容 |
返回参数
返回对应的数据集数据。
列查询(中括号)
请求示例
import os
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
# 定义数据集
from qianfan.dataset import Dataset
ds = Dataset.create_from_pyobj([
{
"column_name1": "column1_row1",
"column_name2": "column2_row1",
"column_name3": "column3_row1",
},
{
"column_name1": "column1_row2",
"column_name2": "column2_row2",
"column_name3": "column3_row2",
},
{
"column_name1": "column1_row3",
"column_name2": "column2_row3",
"column_name3": "column3_row3",
}
])
# 根据列名查询某一列,如column_name1列
print(ds["column_name1"])
# 根据列名查询多列,如column_name1、column_name3
print(ds[["column_name1", "column_name3"]])
返回示例
# 根据列名查询某一列,如column_name1列
{'column_name1': ['column1_row1', 'column1_row2', 'column1_row3']}
# 根据多个列名查询多列,如column_name1、column_name3
{'column_name1': ['column1_row1', 'column1_row2', 'column1_row3'], 'column_name3': ['column3_row1', 'column3_row2', 'column3_row3']}
请求参数
- 根据列名查询某一列
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
无 | str | 是 | 根据列名查询某一列 |
- 根据列名查询多列
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
无 | List[str]|Tuple[str] | 是 | 根据列名查询多列 |
返回参数
返回对应的数据集数据。