Add test for dataframe footprint reduction
This commit is contained in:
parent
942840da2d
commit
a59d61472b
@ -3,18 +3,19 @@ import logging
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from shutil import copyfile
|
from shutil import copyfile
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from freqtrade.configuration.timerange import TimeRange
|
from freqtrade.configuration.timerange import TimeRange
|
||||||
from freqtrade.data.converter import (convert_ohlcv_format, convert_trades_format,
|
from freqtrade.data.converter import (convert_ohlcv_format, convert_trades_format,
|
||||||
ohlcv_fill_up_missing_data, ohlcv_to_dataframe,
|
ohlcv_fill_up_missing_data, ohlcv_to_dataframe,
|
||||||
trades_dict_to_list, trades_remove_duplicates,
|
reduce_dataframe_footprint, trades_dict_to_list,
|
||||||
trades_to_ohlcv, trim_dataframe)
|
trades_remove_duplicates, trades_to_ohlcv, trim_dataframe)
|
||||||
from freqtrade.data.history import (get_timerange, load_data, load_pair_history,
|
from freqtrade.data.history import (get_timerange, load_data, load_pair_history,
|
||||||
validate_backtest_data)
|
validate_backtest_data)
|
||||||
from freqtrade.data.history.idatahandler import IDataHandler
|
from freqtrade.data.history.idatahandler import IDataHandler
|
||||||
from freqtrade.enums import CandleType
|
from freqtrade.enums import CandleType
|
||||||
from tests.conftest import log_has, log_has_re
|
from tests.conftest import generate_test_data, log_has, log_has_re
|
||||||
from tests.data.test_history import _clean_test_file
|
from tests.data.test_history import _clean_test_file
|
||||||
|
|
||||||
|
|
||||||
@ -344,3 +345,33 @@ def test_convert_ohlcv_format(default_conf, testdatadir, tmpdir, file_base, cand
|
|||||||
assert file.exists()
|
assert file.exists()
|
||||||
for file in (files_new):
|
for file in (files_new):
|
||||||
assert not file.exists()
|
assert not file.exists()
|
||||||
|
|
||||||
|
|
||||||
|
def test_reduce_dataframe_footprint():
|
||||||
|
data = generate_test_data('15m', 40)
|
||||||
|
|
||||||
|
data['open_copy'] = data['open']
|
||||||
|
data['close_copy'] = data['close']
|
||||||
|
data['close_copy'] = data['close']
|
||||||
|
|
||||||
|
assert data['open'].dtype == np.float64
|
||||||
|
assert data['open_copy'].dtype == np.float64
|
||||||
|
assert data['close_copy'].dtype == np.float64
|
||||||
|
|
||||||
|
df2 = reduce_dataframe_footprint(data)
|
||||||
|
|
||||||
|
# Does not modify original dataframe
|
||||||
|
assert data['open'].dtype == np.float64
|
||||||
|
assert data['open_copy'].dtype == np.float64
|
||||||
|
assert data['close_copy'].dtype == np.float64
|
||||||
|
|
||||||
|
# skips ohlcv columns
|
||||||
|
assert df2['open'].dtype == np.float64
|
||||||
|
assert df2['high'].dtype == np.float64
|
||||||
|
assert df2['low'].dtype == np.float64
|
||||||
|
assert df2['close'].dtype == np.float64
|
||||||
|
assert df2['volume'].dtype == np.float64
|
||||||
|
|
||||||
|
# Changes dtype of returned dataframe
|
||||||
|
assert df2['open_copy'].dtype == np.float32
|
||||||
|
assert df2['close_copy'].dtype == np.float32
|
||||||
|
Loading…
Reference in New Issue
Block a user