otp.Source.fillna#
- Source.fillna(value=None, columns=None, inplace=False)#
- Replace NaN values in floating point type fields with the - value.- Parameters
- value (float, - Operation) – The value to replace NaN. If not specified then the value from the previous tick will be used.
- columns (list) – List of strings with column names or - Columnobjects. Only the values in specified columns will be replaced. By default the values in all floating point type fields will be replaced.
- 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.
- self (Source) – 
 
- Return type
- Sourceor- None
 - Examples - By default, the value of the previous tick is used as a value to replace NaN (for the first tick the previous value do not exist, so it will still be NaN): - >>> data = otp.Ticks({'A': [0, 1, 2, 3], 'B': [otp.nan, 2.2, otp.nan, 3.3]}) >>> data = data.fillna() >>> otp.run(data) Time A B 0 2003-12-01 00:00:00.000 0 NaN 1 2003-12-01 00:00:00.001 1 2.2 2 2003-12-01 00:00:00.002 2 2.2 3 2003-12-01 00:00:00.003 3 3.3 - The value can also be a constant: - >>> data = otp.Ticks({'A': [0, 1, 2, 3], 'B': [otp.nan, 2.2, otp.nan, 3.3]}) >>> data = data.fillna(777) >>> otp.run(data) Time A B 0 2003-12-01 00:00:00.000 0 777.0 1 2003-12-01 00:00:00.001 1 2.2 2 2003-12-01 00:00:00.002 2 777.0 3 2003-12-01 00:00:00.003 3 3.3 - Operationobjects can also be used as a- value:- >>> data = otp.Ticks({'A': [0, 1, 2, 3], 'B': [otp.nan, 2.2, otp.nan, 3.3]}) >>> data = data.fillna(data['A']) >>> otp.run(data) Time A B 0 2003-12-01 00:00:00.000 0 0.0 1 2003-12-01 00:00:00.001 1 2.2 2 2003-12-01 00:00:00.002 2 2.0 3 2003-12-01 00:00:00.003 3 3.3 - Parameter - columnscan be used to specify the columns where values will be replaced:- data = otp.Ticks({'A': [0, 1, 2, 3], 'B': [otp.nan, 2.2, otp.nan, 3.3], 'C': [otp.nan, 2.2, otp.nan, 3.3]}) data = data.fillna(columns=['B']) df = otp.run(data) print(df) - Time A B C 0 2003-12-01 00:00:00.000 0 NaN NaN 1 2003-12-01 00:00:00.001 1 2.2 2.2 2 2003-12-01 00:00:00.002 2 2.2 NaN 3 2003-12-01 00:00:00.003 3 3.3 3.3 - See also