otp.Source.add_suffix#
- Source.add_suffix(suffix, inplace=False, columns=None, ignore_columns=None)#
Adds suffix to all column names.
- Parameters
suffix (str) – String suffix to add to all columns.
inplace (bool) – The flag controls whether operation should be applied inplace or not. If
inplace=True
, then it returns nothing. Otherwise method returns a new modified object.columns (List[str], optional) – If set, only selected columns will be updated with suffix. Can’t be used with ignore_columns parameter.
ignore_columns (List[str], optional) – If set, selected columns won’t be updated with suffix. Can’t be used with columns parameter.
self (Source) –
- Return type
Source
orNone
Examples
>>> data = otp.DataSource(db='SOME_DB', tick_type='TT', symbols='S1') >>> data = data.add_suffix('_test') >>> otp.run(data) Time X_test 0 2003-12-01 00:00:00.000 1 1 2003-12-01 00:00:00.001 2 2 2003-12-01 00:00:00.002 3
>>> data.schema {'X_test': <class 'int'>}
>>> data = otp.DataSource(db='NYSE_TAQ', tick_type='TRD', symbols='AAPL') >>> data = data.add_suffix('_test') >>> otp.run(data, start=otp.dt(2022, 3, 1), end=otp.dt(2022, 3, 2)) Time PRICE_test SIZE_test 0 2022-03-01 00:00:00.000 1.3 100 1 2022-03-01 00:00:00.001 1.4 10 2 2022-03-01 00:00:00.002 1.4 50
>>> data.schema {'PRICE_test': <class 'float'>}
>>> data = otp.Tick(X=1, XX=2) >>> data.add_suffix('X') Traceback (most recent call last): ... AttributeError: Column XX already exists, please, use another suffix
Parameter columns specify columns to be updated with suffix:
>>> data = otp.Tick(A=1, B=2, C=3, D=4, E=5) >>> data = data.add_prefix('test_', columns=['A', 'B', 'C']) >>> otp.run(data) Time test_A test_B test_C D E 0 2003-12-01 1 2 3 4 5
Parameter ignore_columns specify columns to ignore:
>>> data = otp.Tick(A=1, B=2, C=3, D=4, E=5) >>> data = data.add_prefix('test_', ignore_columns=['A', 'B', 'C']) >>> otp.run(data) Time A B C test_D test_E 0 2003-12-01 1 2 3 4 5
Parameters columns and ignore_columns can’t be used at the same time:
>>> data = otp.Tick(A=1, B=2, C=3, D=4, E=5) >>> data.add_prefix('test_', columns=['B', 'C'], ignore_columns=['A']) Traceback (most recent call last): ... ValueError: It is allowed to use only one of `columns` or `ignore_columns` parameters at a time