otp.Operation.str.from_32nds#
- _StrAccessor.from_32nds(*, throw_if_not_convertible=True)#
Converts 32nds format string to double.
If
throw_if_not_convertibleflag is set to True (default), the function will throw an exception on error, otherwise it will return NaN.Examples
Convert to 32nds format strings to double numbers:
>>> data = otp.Ticks(PRICE_32NDS=['100-00', '101-01', '102-16', '103-16+', '104-007']) >>> data['PRICE'] = data['PRICE_32NDS'].str.from_32nds() >>> otp.run(data) Time PRICE_32NDS PRICE 0 2003-12-01 00:00:00.000 100-00 100.000000 1 2003-12-01 00:00:00.001 101-01 101.031250 2 2003-12-01 00:00:00.002 102-16 102.500000 3 2003-12-01 00:00:00.003 103-16+ 103.515625 4 2003-12-01 00:00:00.004 104-007 104.027344
If the number can’t be converted, exception will be raised:
>>> data = otp.Ticks(PRICE_32NDS=['wrong']) >>> data['PRICE'] = data['PRICE_32NDS'].str.from_32nds() >>> otp.run(data) Traceback (most recent call last): Exception...String for conversion should be in NNN-nn[+] or NN-nn[+] format...
In this case parameter
throw_if_not_convertible=Falsecan be set, and unconvertible values will be converted to NaN values:>>> data = otp.Ticks(PRICE_32NDS=['wrong']) >>> data['PRICE'] = data['PRICE_32NDS'].str.from_32nds(throw_if_not_convertible=False) >>> otp.run(data) Time PRICE_32NDS PRICE 0 2003-12-01 wrong NaN
See also
CONVERT_32NDS_TO_DOUBLE OneTick function