otp.Source.add_prefix#
- Source.add_prefix(prefix, inplace=False, columns=None, ignore_columns=None)#
Adds prefix to all column names.
- Parameters
prefix (str) – String prefix 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 prefix. Can’t be used with
ignore_columns
parameter.ignore_columns (List[str], optional) – If set, selected columns won’t be updated with prefix. 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_prefix('test_') >>> otp.run(data) Time test_X 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 {'test_X': <class 'int'>}
>>> data = otp.DataSource(db='NYSE_TAQ', tick_type='TRD', symbols='AAPL') >>> data = data.add_prefix('test_') >>> otp.run(data, start=otp.dt(2022, 3, 1), end=otp.dt(2022, 3, 2)) Time test_PRICE test_SIZE 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 {'test_PRICE': <class 'float'>}
>>> data = otp.Tick(X=1, XX=2) >>> data.add_prefix('X') Traceback (most recent call last): ... AttributeError: Column XX already exists, please, use another prefix
Parameter
columns
specifies columns to be updated with prefix:>>> 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
specifies 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