如何在 pydatatable 中的数据框列上设置键?
How to set a key on dataframe column in pydatatable?
我正在练习如何对 pydatatable 的 数据帧执行连接操作。
第一个DT创建如下,
DT_1=dt.Frame({"title": np.array(['stat','math','stat','math','esp']),
"score": np.array([23,43,21,50,16])})
第二个DT创建如下,
DT_2=dt.Frame({"title": np.array(['stat','esp','math','stat']),
"price": np.array([350,450,530,430])})
我正在 DT_2.key = "title"
上设置一个键,因为它有重复的标题,它给出了一个键值错误:ValueError:无法设置键:值不是唯一的.
我想知道在 python 数据表中是否对键强制执行唯一性?而在 R datatable 中不强制唯一性,并且允许重复的键值。
有没有参考文档?
键列中的值必须是唯一的,请参阅此处的文档:https://datatable.readthedocs.io/en/latest/api/frame.html#datatable.Frame.key。
您可以将键列视为将 Frame 变成按行字典,其中字典的 "key" 部分位于键列中,而 "value" 部分在所有其他列中。 "key" 可能包含多列,在这种情况下,每行的键值是来自每个键列的值的元组。
因此,数据表的键相当于 pandas' 索引(通过 .set_index()
),或 SQL 主键。
我正在练习如何对 pydatatable 的 数据帧执行连接操作。
第一个DT创建如下,
DT_1=dt.Frame({"title": np.array(['stat','math','stat','math','esp']),
"score": np.array([23,43,21,50,16])})
第二个DT创建如下,
DT_2=dt.Frame({"title": np.array(['stat','esp','math','stat']),
"price": np.array([350,450,530,430])})
我正在 DT_2.key = "title"
上设置一个键,因为它有重复的标题,它给出了一个键值错误:ValueError:无法设置键:值不是唯一的.
我想知道在 python 数据表中是否对键强制执行唯一性?而在 R datatable 中不强制唯一性,并且允许重复的键值。
有没有参考文档?
键列中的值必须是唯一的,请参阅此处的文档:https://datatable.readthedocs.io/en/latest/api/frame.html#datatable.Frame.key。
您可以将键列视为将 Frame 变成按行字典,其中字典的 "key" 部分位于键列中,而 "value" 部分在所有其他列中。 "key" 可能包含多列,在这种情况下,每行的键值是来自每个键列的值的元组。
因此,数据表的键相当于 pandas' 索引(通过 .set_index()
),或 SQL 主键。