Convert np to None when loading hdf5 trades to allow duplicate detection

This commit is contained in:
Matthias 2020-11-19 07:30:28 +01:00
parent bf6682d37f
commit 52c9a2c37f
2 changed files with 5 additions and 1 deletions

View File

@ -3,6 +3,7 @@ import re
from pathlib import Path from pathlib import Path
from typing import List, Optional from typing import List, Optional
import numpy as np
import pandas as pd import pandas as pd
from freqtrade import misc from freqtrade import misc
@ -175,7 +176,8 @@ class HDF5DataHandler(IDataHandler):
if timerange.stoptype == 'date': if timerange.stoptype == 'date':
where.append(f"timestamp < {timerange.stopts * 1e3}") where.append(f"timestamp < {timerange.stopts * 1e3}")
trades = pd.read_hdf(filename, key=key, mode="r", where=where) trades: pd.DataFrame = pd.read_hdf(filename, key=key, mode="r", where=where)
trades[['id', 'type']] = trades[['id', 'type']].replace({np.nan: None})
return trades.values.tolist() return trades.values.tolist()
def trades_purge(self, pair: str) -> bool: def trades_purge(self, pair: str) -> bool:

View File

@ -724,6 +724,8 @@ def test_hdf5datahandler_trades_load(testdatadir):
trades2 = dh._trades_load('XRP/ETH', timerange) trades2 = dh._trades_load('XRP/ETH', timerange)
assert len(trades) > len(trades2) assert len(trades) > len(trades2)
# Check that ID is None (If it's nan, it's wrong)
assert trades2[0][2] is None
# unfiltered load has trades before starttime # unfiltered load has trades before starttime
assert len([t for t in trades if t[0] < timerange.startts * 1000]) >= 0 assert len([t for t in trades if t[0] < timerange.startts * 1000]) >= 0