1

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

这里我有一个数据框:

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

及其类型:

ventas_duda_dt.stypes

每个字段的数据类型为:

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

现在我想将其中的三个列投射到int, float, floatfrom float, str, str,这里。如何通过删除($,,,%)字段值中的这些特殊符号来实现?

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

4

1 回答 1

3

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

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

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

于 2019-12-05T00:26:55.067 回答