featuretools.EntitySet.add_dataframe#
- EntitySet.add_dataframe(dataframe, dataframe_name=None, index=None, logical_types=None, semantic_tags=None, make_index=False, time_index=None, secondary_time_index=None, already_sorted=False)[source]#
使用 Woodwork 类型信息向 EntitySet 添加 DataFrame。
- 参数:
dataframe (pandas.DataFrame) – 包含数据的 DataFrame。
dataframe_name (str, 可选) – 与此 DataFrame 关联的唯一名称。如果输入 DataFrame 上未初始化 Woodwork,则必须提供此参数。
index (str, 可选) – 用于索引 DataFrame 的列名。必须是唯一的。如果为 None,则取第一列。
logical_types (dict[str -> Woodwork.LogicalTypes/str, 可选]) – 键是列名,值是逻辑类型。如果未指定,将自动推断。
semantic_tags (dict[str -> str/set], 可选]) – 键是列名,值是语义标签。
make_index (bool, 可选) – 如果为 True,则假定索引不存在于 DataFrame 的列中,并使用整数创建该名称的新列。否则,假定索引已存在。
time_index (str, 可选) – 包含时间数据的列名。类型必须是数值或日期时间类型。
secondary_time_index (dict[str -> list[str]]) – 包含时间数据的列名,用作辅助时间索引,并映射到与该辅助时间索引关联的 DataFrame 中的列列表。
already_sorted (bool, 可选) – 如果为 True,则假定输入 DataFrame 已按时间排序。默认为 False。
注意
将从数据中推断逻辑类型。
示例
In [1]: import featuretools as ft In [2]: import pandas as pd In [3]: transactions_df = pd.DataFrame({"id": [1, 2, 3, 4, 5, 6], ...: "session_id": [1, 2, 1, 3, 4, 5], ...: "amount": [100.40, 20.63, 33.32, 13.12, 67.22, 1.00], ...: "transaction_time": pd.date_range(start="10:00", periods=6, freq="10s"), ...: "fraud": [True, False, True, False, True, True]}) ...: In [4]: es = ft.EntitySet("example") In [5]: es.add_dataframe(dataframe_name="transactions", ...: index="id", ...: time_index="transaction_time", ...: dataframe=transactions_df) ...: Out[5]: Entityset: example DataFrames: transactions [Rows: 6, Columns: 5] Relationships: No relationships In [6]: es["transactions"] Out[6]: id session_id amount transaction_time fraud 1 1 1 100.40 2024-05-14 10:00:00 True 2 2 2 20.63 2024-05-14 10:00:10 False 3 3 1 33.32 2024-05-14 10:00:20 True 4 4 3 13.12 2024-05-14 10:00:30 False 5 5 4 67.22 2024-05-14 10:00:40 True 6 6 5 1.00 2024-05-14 10:00:50 True