API 参考#

演示数据集#

load_retail([id, nrows, return_single_table])

返回零售实体集示例。

load_mock_customer([n_customers, ...])

返回模拟客户数据的数据框

load_flight([month_filter, ...])

下载、清理和过滤 2017 年的航班数据。

load_weather([nrows, return_single_table])

加载澳大利亚日最低气温天气数据集。

深度特征合成#

dfs([dataframes, relationships, entityset, ...])

根据数据框字典和关系列表计算特征矩阵和特征。

get_valid_primitives(entityset, ...[, ...])

返回两个原语列表(转换和聚合),其中包含可应用于特定目标数据框以创建特征的原语。

时间差#

Timedelta(value[, unit, delta_obj])

表示时间的差异。

时间工具#

make_temporal_cutoffs(instance_ids, cutoffs)

在输入截止时间和实例 ID 集合之前,创建一组等间隔的截止时间。

特征原语#

原语类型#

转换原语()

基于该数据框中一个或多个其他特征的数据框特征。

聚合原语()

聚合原语#

全部()

计算列表中所有值是否为 'True'。

任意()

确定列表中是否有任何值为 'True'。

AvgTimeBetween([unit])

计算连续事件之间的平均秒数。

计数()

确定总值数,不包括 NaN

CountAboveMean([skipna])

计算高于平均值的值的数量。

CountBelowMean([skipna])

确定低于平均值的值的数量。

CountGreaterThan([threshold])

确定大于可控阈值的值的数量。

CountInsideNthSTD([n])

确定位于内部的观测值的计数

CountInsideRange([lower, upper, skipna])

确定落在特定范围内值数量。

CountLessThan([threshold])

确定小于可控阈值的值的数量。

CountOutsideNthSTD([n])

确定位于外部的观测值的数量

CountOutsideRange([lower, upper, skipna])

确定落在特定范围之外值数量。

Entropy([dropna, base])

计算分类列的熵

第一个()

确定列表中的第一个值。

最后一个()

确定列表中的最后一个值。

最大值()

计算最大值,忽略 NaN 值。

最大连续 False 数()

确定输入中连续 False 值的最大数量

MaxConsecutiveNegatives([skipna])

确定输入中连续负值的最大数量

MaxConsecutivePositives([skipna])

确定输入中连续正值的最大数量

最大连续 True 数()

确定输入中连续 True 值的最大数量

MaxConsecutiveZeros([skipna])

确定输入中连续零值的最大数量

Mean([skipna])

计算值列表的平均值。

中位数()

确定值列表中间的值。

最小值()

计算最小值,忽略 NaN 值。

众数()

确定最常重复的值。

NMostCommon([n])

确定 n 个最常见的元素。

NumConsecutiveGreaterMean([skipna])

确定高于平均值的最长子序列的长度。

NumConsecutiveLessMean([skipna])

确定低于平均值的最长子序列的长度。

True 计数()

计算 True 值的数量。

NumUnique([use_string_for_pd_calc])

确定不同值的数量,忽略 NaN 值。

True 百分比()

确定 True 值的百分比。

偏度()

计算分布与正态分布的差异程度。

标准差()

计算相对于平均值的离散度,忽略 NaN

求和()

计算总和,忽略 NaN

TimeSinceFirst([unit])

计算自第一个日期时间以来的经过时间(秒)。

TimeSinceLast([unit])

计算自最后一个日期时间以来的经过时间(默认为秒)。

自最后一个 False 以来的时间()

计算自最后一个 False 值以来的时间。

自最后一个最大值以来的时间()

计算自最大值出现以来的时间。

自最后一个最小值以来的时间()

计算自最小值出现以来的时间。

自最后一个 True 以来的时间()

计算自最后一个 True 值以来的时间。

趋势()

计算列随时间变化的趋势。

转换原语#

二元转换原语#

数值相加()

对两个列表进行元素级相加。

AddNumericScalar([value])

将标量添加到列表中的每个值。

DivideByFeature([value])

将标量除以列表中的每个值。

DivideNumericScalar([value])

将列表中的每个元素除以标量。

相等()

确定一个列表中的值是否等于另一个列表。

EqualScalar([value])

确定列表中的值是否等于给定标量。

大于()

确定一个列表中的值是否大于另一个列表。

大于等于()

确定一个列表中的值是否大于或等于另一个列表。

GreaterThanEqualToScalar([value])

确定值是否大于或等于给定标量。

GreaterThanScalar([value])

确定值是否大于给定标量。

小于()

确定一个列表中的值是否小于另一个列表。

小于等于()

确定一个列表中的值是否小于或等于另一个列表。

LessThanEqualToScalar([value])

确定值是否小于或等于给定标量。

LessThanScalar([value])

确定值是否小于给定标量。

ModuloByFeature([value])

计算标量除以列表中每个元素的模数。

数值取模()

对两个列表进行元素级取模。

ModuloNumericScalar([value])

计算列表中每个元素除以给定标量的模数。

布尔相乘()

对两个布尔值列表进行元素级相乘。

数值布尔相乘()

对数值列表和布尔列表进行元素级相乘。

MultiplyNumericScalar([value])

将列表中的每个元素乘以标量。

不相等()

确定一个列表中的值是否不等于另一个列表。

NotEqualScalar([value])

确定列表中的值是否不等于给定标量。

ScalarSubtractNumericFeature([value])

从给定标量中减去列表中的每个值。

SubtractNumeric([commutative])

对两个列表进行元素级相减。

SubtractNumericScalar([value])

从列表中的每个元素中减去标量。

组合特征#

IsIn([list_of_outputs])

确定值是否在提供的列表中。

()

对两个列表进行元素级逻辑 AND 运算。

()

对两个列表进行元素级逻辑 OR 运算。

()

对布尔值取反。

累积转换原语#

Diff([periods])

计算列表中当前值与前一个值之间的差值。

DiffDatetime([periods])

计算列表中当前日期时间与前一个日期时间之间的时间差。

TimeSincePrevious([unit])

计算自列表中前一个条目以来的时间。

累积计数()

计算累积计数。

累积求和()

计算累积求和。

累积平均值()

计算累积平均值。

累积最小值()

计算累积最小值。

累积最大值()

计算累积最大值。

日期时间转换原语#

年龄()

计算给定年龄(以年为单位)的浮点数

DateToHoliday([country])

如果存在,将实例时间转换为假日名称。

日期到时区()

确定日期时间的时区。

()

确定日期时间中的月份日。

年内日()

确定给定日期时间在年内的序数日

月内天数()

确定给定日期时间所在月份的天数。

DistanceToHoliday([holiday, country])

计算给定假日之前或之后的天数。

小时()

确定日期时间的小时值。

IsFederalHoliday([country])

确定给定日期时间是否是联邦假日。

是否闰年()

确定日期时间列的 is_leap_year 属性。

IsLunchTime([lunch_hour])

确定日期时间是否落在可配置的午餐时间(24小时制)内。

是否月末()

确定日期时间列的 is_month_end 属性。

是否月初()

确定日期时间列的 is_month_start 属性。

是否季末()

确定日期时间列的 is_quarter_end 属性。

是否季初()

确定日期时间列的 is_quarter_start 属性。

是否周末()

确定日期是否落在周末。

IsWorkingHours([start_hour, end_hour])

确定日期时间是否落在工作时间(24小时制)内。

是否年末()

确定日期是否落在年末。

是否年初()

确定日期是否落在年初。

分钟()

确定日期时间的分钟值。

()

确定日期时间的月值。

日内部分()

确定日期时间在日内的部分。

季度()

确定日期时间列所属的季度(1、2、3、4)

季节()

确定给定日期时间的季节。

()

确定日期时间的秒值。

()

确定日期时间在年内的周数。

工作日()

确定日期时间在一周中的哪一天。

()

确定日期时间的年份值。

电子邮件和 URL 转换原语#

电子邮件地址到域名()

确定电子邮件的域名

是否免费邮箱域名()

确定电子邮件地址是否来自免费邮箱域名。

URL 到域名()

确定 URL 的域名。

URL 到协议()

确定 URL 的协议(http 或 https)。

URL 到顶级域名()

确定 URL 的顶级域名。

指数转换原语#

ExponentialWeightedAverage([com, span, ...])

计算一系列数字的指数加权移动平均值

ExponentialWeightedSTD([com, span, ...])

计算一系列数字的指数加权移动标准差

ExponentialWeightedVariance([com, span, ...])

计算一系列数字的指数加权移动方差

通用转换原语#

AbsoluteDiff([method, limit])

计算与前一个元素的绝对差

绝对值()

计算一个数的绝对值。

余弦()

计算一个数的余弦。

是否为 Null()

确定值是否为 null。

自然对数()

计算一个数的自然对数。

取反()

对数值取反。

百分位数()

确定列表中每个值的百分位数排名。

变化率()

计算值每秒的变化率。

SameAsPrevious([fill_method, limit])

确定值是否等于列表中前一个值。

正弦()

计算一个数的正弦。

平方根()

计算一个数的平方根。

正切()

计算一个数的正切。

方差()

计算数字列表的方差。

位置转换原语#

CityblockDistance([unit])

计算城市道路网格中点之间的距离。

地理中点()

确定两个坐标的地理中心。

Haversine([unit])

计算两个经纬度列之间的近似半正矢距离。

IsInGeoBox([point1, point2])

确定坐标是否在由两个角点坐标定义的框内。

纬度()

返回经纬度元组列表中的第一个元组值。

经度()

返回经纬度元组列表中的第二个元组值。

自然语言转换原语#

CountString([string, ignore_case, ...])

确定给定字符串在文本字段中出现的次数。

每词平均字符数()

确定每词平均字符数。

MedianWordLength([delimiters_regex])

确定词语长度的中位数。

字符数()

计算给定字符串中的字符数,包括空白和标点符号。

NumUniqueSeparators([separators])

计算唯一分隔符的数量。

词数()

确定字符串中的词数。

NumberOfCommonWords([word_set, delimiters_regex])

确定字符串中常见词的数量。

话题标签数()

确定字符串中的话题标签数量。

提及数()

确定字符串中的提及数量。

NumberOfUniqueWords([case_insensitive])

确定字符串中的唯一词语数量。

NumberOfWordsInQuotes([quote_type])

确定字符串中引号内的词语数量。

标点符号计数()

确定字符串中的标点符号数量。

标题词计数()

确定字符串中的标题词数量。

TotalWordLength([do_not_count])

确定总词语长度。

大写字母计数()

计算文本中的大写字母数量。

大写词计数()

确定字符串中全部大写的词语数量。

空白字符计数()

计算字符串中的空白字符数量。

邮政编码原语#

一位邮政编码()

返回给定邮政编码的一位前缀。

两位邮政编码()

返回给定邮政编码的两位前缀。

时间序列转换原语#

ExpandingCount([gap, min_periods])

计算给定窗口内事件的扩展计数。

ExpandingMax([gap, min_periods])

计算给定窗口内事件的扩展最大值。

ExpandingMean([gap, min_periods])

计算给定窗口内事件的扩展平均值。

ExpandingMin([gap, min_periods])

计算给定窗口内事件的扩展最小值。

ExpandingSTD([gap, min_periods])

计算给定窗口内事件的扩展标准差。

ExpandingTrend([gap, min_periods])

计算给定窗口内事件的扩展趋势。

Lag([periods])

将值数组按指定周期数移动。

RollingCount([window_length, gap, min_periods])

确定给定窗口内事件的滚动计数。

RollingMax([window_length, gap, min_periods])

确定给定窗口内条目的最大值。

RollingMean([window_length, gap, min_periods])

计算给定窗口内条目的平均值。

RollingMin([window_length, gap, min_periods])

确定给定窗口内条目的最小值。

RollingOutlierCount([window_length, gap, ...])

确定给定窗口内有多少值为异常值。

RollingSTD([window_length, gap, min_periods])

计算给定窗口内条目的标准差。

RollingTrend([window_length, gap, min_periods])

计算给定窗口内列条目随时间变化的趋势。

特征方法#

FeatureBase.rename(name)

重命名特征,返回副本。

FeatureBase.get_depth([stop_at])

返回特征的深度

特征计算#

calculate_feature_matrix(features[, ...])

计算给定实例 ID 集合和计算时间的矩阵。

特征描述#

describe_feature(feature[, ...])

生成特征的英文描述。

特征可视化#

graph_feature([to_file, description])

为给定特征生成特征沿袭图

特征编码#

encode_features(feature_matrix, features[, ...])

编码分类特征

特征选择#

remove_low_information_features(feature_matrix)

选择至少有两个唯一值且不全为 null 的特征

remove_highly_correlated_features(feature_matrix)

移除特征矩阵中与另一列高度相关的列。

remove_highly_null_features(feature_matrix)

从特征矩阵中移除 null 值高于设定阈值的列。

remove_single_value_features(feature_matrix)

移除特征矩阵中所有值都相同的列。

特征矩阵工具#

replace_inf_values(feature_matrix[, ...])

将特征矩阵中的所有 np.inf 值替换为指定的替换值。

保存和加载特征#

save_features(features[, location, profile_name])

将特征列表保存为 JSON 到指定的文件路径/S3 路径,写入打开的文件,或将序列化特征作为 JSON 字符串返回。

load_features(features[, profile_name])

从文件路径、S3 路径、URL、打开的文件或 JSON 格式字符串加载特征。

实体集,关系#

构造函数#

EntitySet([id, dataframes, relationships])

存储实体集的所有实际数据和类型信息

Relationship(entityset, ...)

表示数据框之间关系的类

EntitySet 加载和准备数据#

EntitySet.add_dataframe(dataframe[, ...])

使用 Woodwork 类型信息将 DataFrame 添加到 EntitySet。

EntitySet.add_interesting_values([...])

查找或设置分类列的有趣值,用于生成 "where" 子句

EntitySet.add_last_time_indexes([...])

计算每个数据框的最后时间索引值(观测到实例或其子级的最后时间)。

EntitySet.add_relationship([...])

在实体集中添加数据框之间的新关系。

EntitySet.add_relationships(relationships)

向实体集添加多个新关系

EntitySet.concat(other[, inplace])

将实体集与另一个实体集合并,创建一个包含两个实体集合并数据的新实体集。

EntitySet.normalize_dataframe(...[, ...])

从现有列的唯一值创建新的数据框和关系。

EntitySet.set_secondary_time_index(...)

使用数据框名称设置 EntitySet 中数据框的辅助时间索引。

EntitySet.replace_dataframe(dataframe_name, df)

替换 EntitySet 表的内部数据框,保持 Woodwork 类型信息不变。

EntitySet 序列化#

read_entityset(path[, profile_name])

从磁盘、S3 路径或 URL 读取实体集。

EntitySet.to_csv(path[, sep, encoding, ...])

将实体集以 csv 格式写入磁盘,位置由 path 指定。

EntitySet.to_pickle(path[, compression, ...])

将实体集以 pickle 格式写入磁盘,位置由 path 指定。

EntitySet.to_parquet(path[, engine, ...])

将实体集以 parquet 格式写入磁盘,位置由 path 指定。

EntitySet 查询方法#

EntitySet.__getitem__(dataframe_name)

从实体集获取数据框实例

EntitySet.find_backward_paths(...)

生成器,生成起始数据框和目标数据框之间的所有向后路径。

EntitySet.find_forward_paths(...)

生成器,生成起始数据框和目标数据框之间的所有向前路径。

EntitySet.get_forward_dataframes(dataframe_name)

获取与数据框存在向前关系的数据框

EntitySet.get_backward_dataframes(dataframe_name)

获取与数据框存在向后关系的数据框

EntitySet.query_by_values(dataframe_name, ...)

查询列具有给定值的实例

EntitySet 可视化#

EntitySet.plot([to_file])

创建 EntitySet 的类似 UML 图的图形。

关系属性#

Relationship.parent_column

父数据框中的列

Relationship.child_column

子数据框中的列

Relationship.parent_dataframe

父数据框对象

Relationship.child_dataframe

子数据框对象

数据类型工具方法#

list_logical_types()

返回描述所有可用逻辑类型的数据框。

list_semantic_tags()

返回描述所有常见语义标签的数据框。

原语工具方法#

get_recommended_primitives(entityset[, ...])

获取给定实体集的推荐原语列表。

list_primitives()

返回一个 DataFrame,其中列出并描述了每个内置原语。

summarize_primitives()

返回 list_primitives 中找到的所有原语的度量汇总 DataFrame。