覆盖主要内容
版本: 6.1.0

数据结构

数据结构说明

Data

class Data(args, *kwargs)

用于存储数据的通用类,会存储数据、数据属性等信息同时还会定义数据基本操作。Data中数据存储的主要数据类型为pandas.Dataframe,数据属性信息通过Domain实例进行存储。

Properties

  • data(pandas.Dataframe): 存储的数据,pandas.Dataframe数据实例
  • X(pandas.Dataframe): 特征属性数据
  • Y(pandas.Dataframe): 目标属性数据
  • var_values(pandas.Dataframe): 特征属性及目标属性数据
  • descs_values(pandas.Dataframe): 描述属性数据
  • name(str): 数据名称
  • size(int): 数据行数
  • shape(tuple): 数据维度
  • columns(list): 数据属性列表

Contructors

  • _init_(data):

通过读取pandas.Dataframe数据构建Data实例

Parameters:

  • data(pandas.Dataframe) - pandas.Dataframe数据实例


Returns: 基于pandas.Dataframe数据实例构建的Data实例

Return type: aistudio_commons.core.io.data.Data

  • classmethod Data.from_file(file, sep=',')

通过读取csv, excel或feather文件构建Data实例

Parameters:

  • file(str) - 文件
  • sep(str) - 分隔符,用于数据分割的标识


Returns: 基于文件数据构建的Data实例

Return type: aistudio_commons.core.io.data.Data

  • classmethod Data.from_csv(file, sep=',')

通过读取csv文件构建Data实例

Parameters:

  • file(str) - 文件
  • sep(str) - 分隔符,用于数据分割的标识


Returns: 基于csv文件数据构建的Data实例

Return type: aistudio_commons.core.io.data.Data

  • classmethod Data.from_excel(file, **kwargs)

通过读取excel文件构建Data实例

**Parameters: **

  • file(str) - 文件


Returns: 基于excel文件数据构建的Data实例

Return type: aistudio_commons.core.io.data.Data

  • classmethod Data.from_feather(file)

通过读取feather文件构建Data实例

Parameters:

  • file(str) - 文件


Returns: 基于feather文件数据构建的Data实例

Return type: aistudio_commons.core.io.data.Data

  • classmethod Data.from_sql_table(table_name, conn)

通过读取数据库表构建Data实例

Parameters:

  • table_name(str) - 文件
  • conn(str): sqlalchemy数据库连接URI


Returns: 基于数据库表构建的Data实例

Return type: aistudio_commons.core.io.data.Data

  • classmethod Data.from_url(url)

通过读取url链接数据构建Data实例

Parameters:

  • url(str) - 可访问的数据链接


Returns: 基于url链接数据构建的Data实例

Return type: aistudio_commons.core.io.data.Data

  • classmethod Data.from_domain(domain)

通过给定domain实例构建Data实例

Parameters:

  • domain(aistudio_commons.core.io.domain.Domain) - 可访问的数据链接


Returns: 基于url链接数据构建的Data实例

Return type: aistudio_commons.core.io.data.Data

Methods

  • copy()

拷贝Data实例并返回

Returns: 拷贝Data实例

Return type: aistudio_commons.core.io.data.Data

  • add_column(name, values, type, role)

新增一列数据

Parameters:

  • name(str) - 列名
  • values(numpy.array) - 列值
  • type(int) - 属性类型
提示

AttrType.CATEGORICAL.value = 1 离散类型
AttrType.NUMERIC.value = 2 数值类型
AttrType.TEXT.value = 3 文本类型
AttrType.DATETIME.value = 4 日期类型
:::

  • role(int) - 属性类别
提示

AttrRole.SKIP.value = -1 不用于分析展示
AttrRole.FEATURE.value = 0 特征属性
AttrRole.TARGET.value = 1 目标属性
AttrRole.META.value = 2 描述属性
:::

  • remove_column(self, col_idx, attr_indicator=AttrIndicator.INDEX.value)

删除一列数据

Parameters:

  • col_idx(str) - 属性标识
  • attr_indicator(int) - 属性指示器
提示

INDEX = 0 根据序号定位属性
NAME = 1 根据列名定位属性
:::

  • transform(mapping, attr_indicator=AttrIndicator.NAME.value, delete_on_skip=True):

修改元数据信息(属性名称、类型、角色)

Parameters:

  • mapping(dict) - 属性修改字典
提示

{
  [属性名]: {
    'name': [新属性名],
    'type': [新类型],
    'role': [新角色]
  }
}
:::

  • attr_indicator(int) - 属性指示器
提示

INDEX = 0 根据序号定位属性
NAME = 1 根据列名定位属性 :::

  • delete_on_skip(bool) - 是否删除skip类别的属性
  • description()

获取数据基本信息

**Returns: **数据的基本信息

Return type: dict

  • to_dict()

数据转换,方便前端展示

Returns: 转换后的数据

提示

{   "columns": 属性列表   "data": 数据列表 } :::

Return type: dict

  • to_dict_by_count(count)

转换指定行数的数据

Parameters:

  • count(int) - 返回前多少行的数据

**Returns:**转换后的数据

提示

{   "columns": 属性列表   "data": 数据列表 } :::

Return type: dict

Domain

class Domain()

存储数据属性相关信息,包括属性名称,属性类型,属性类别等信息。

Properties

  • attributes(list) - 特征属性列表
  • class_vars(list) - 目标属性列表
  • class_var(str) - 目标属性
  • time_variable(str) - 日期属性
  • time_values(numpy.ndarray) - 日期属性数据
  • time_delta(int) - 日期属性中的时间间隔
  • types(list) - 属性类型列表
  • roles(list) - 属性类别列表
  • categorical_attrs(list) - 离散型属性列表
  • continuous_attrs(list) - 连续型特征属性列表
  • continuous_vars(list) - 连续型属性列表
  • columns(list) - 属性列表

Contructors

  • _init_(data):

通过传入的pandas.Dataframe数据构建Domain实例

Parameters:

  • data(pandas.Dataframe) - pandas.Dataframe数据


Returns: 基于pandas.Dataframe数据实例构建的Domain实例

Return type: aistudio_commons.core.io.domain.Domain

  • classmethod from_columns(data, attributes, class_vars, descs)

根据指定的属性类别信息构建Domain实例

Parameters:

  • data(pandas.Dataframe) - pandas.Dataframe数据
  • attributes(list) - 特征属性列表
  • class_vars(list) - 目标属性列表
  • descs(list) - 描述属性列表


Returns: 基于pandas.Dataframe数据实例构建的Domain实例

Return type: aistudio_commons.core.io.domain.Domain

Methods

  • refresh(role_detail, name_detail, type_detail)

重新构造domain实例

Parameters:

  • role_detail(dict) - 属性类别字典,{"原始列名": AttrRole, ...}
  • name_detail(dict) - 名称字典,{"原始列名": "新列名", ...}
  • type_detail(dict) - 属性类型字典,{"原始列名": AttrType, ...}


Returns: 基于配置信息重新构造的Domain实例

Return type: aistudio_commons.core.io.domain.Domain

  • has_discrete_attrs()

数据是否包含离散型特征属性(针对特征属性)

Returns: 是否包含离散型特征属性,True包含,False不包含

Return type: bool

  • has_continuous_attrs()

数据是否包含连续型特征属性(针对特征属性)

Returns: 是否包含连续型特征属性,True包含,False不包含

Return type: bool

  • has_discrete_vars()

数据是否包含离散型属性(针对特征属性+目标属性)

Returns: 是否包含离散型属性,True包含,False不包含

Return type: bool

  • has_continuous_vars()

数据是否包含连续型属性(针对特征属性+目标属性)

Returns: 是否包含连续型属性,True包含,False不包含

Return type: bool

  • has_discrete_clms()

数据是否包含离散型属性(针对所有属性)

Returns: 是否包含离散型属性,True包含,False不包含

Return type: bool

  • has_continuous_clms()

数据是否包含连续性属性(针对所有属性)

Returns: 是否包含连续型属性,True包含,False不包含

Return type: bool

  • has_discrete_class()

数据是否包含离散型目标属性(针对目标属性)

Returns: 是否包含离散型目标属性,True包含,False不包含

Return type: bool

  • has_continuous_class()

数据是否包含连续型目标属性(针对目标属性)

Returns: 是否包含连续型目标属性,True包含,False不包含

Return type: bool