pyarrow.decimal128#
- pyarrow.decimal128(int precision, int scale=0) DataType#
创建具有指定精度(precision)和标度(scale)以及 128 位宽度的十进制类型。
Arrow 十进制是编码为缩放整数的定点十进制数。精度是十进制类型可以表示的有效数字位数;比例(scale)是小数点后的位数(注意比例可以是负数)。
例如,
decimal128(7, 3)可以精确表示数字 1234.567 和 -1234.567(内部编码为 128 位整数 1234567 和 -1234567),但无法表示 12345.67 或 123.4567。decimal128(5, -3)可以精确表示数字 12345000(内部编码为 128 位整数 12345),但无法表示 123450000 或 1234500。如果您需要的精度超过 38 位有效数字,请考虑使用
decimal256。- 参数:
- 返回:
- decimal_type
Decimal128Type
- decimal_type
示例
创建十进制类型的实例
>>> import pyarrow as pa >>> pa.decimal128(5, 2) Decimal128Type(decimal128(5, 2))
创建十进制类型的数组
>>> import decimal >>> a = decimal.Decimal('123.45') >>> pa.array([a], pa.decimal128(5, 2)) <pyarrow.lib.Decimal128Array object at ...> [ 123.45 ]