如何在 pydatatable 中输入数据框列?

How to type cast a dataframe column in pydatatable?

我正在尝试探索 pydatatable 中帧的数据类型。

这里我有一个数据框:

ventas_duda_dt = dt.Frame(
    {"cust_id":[893232.34],"sales":['3,4532.93'],"profit_perc":['10%']})

及其类型:

ventas_duda_dt.stypes

每个字段的数据类型为:

(stype.float64, stype.str32, stype.str32)

现在我想在此处将其中的三个列从 float, str, str 转换为 int, float, float。如何通过在字段值中删除这些特殊符号($,,,%)来实现?

我正在浏览文档,但找不到关于该主题的参考资料。

datatable 中,更改列类型的最简单方法是将新类型分配给列:

ventas_duda_dt["cust_id"] = int
ventas_duda_dt["sales"] = float
ventas_duda_dt["profit_perc"] = float

但是,在您的示例中,情况更加复杂,因为字符串值不能直接转换。您需要了解百分号、逗号分隔数字、货币符号等的特殊转换器。数据表中尚不存在此类功能,但将来可能会添加它,前提是您可以指定正是这样的转换器应该做的。