资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

查询数据集

功能介绍

本文介绍查询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] 根据列名查询多列

返回参数

返回对应的数据集数据。