Fix freqUI charts not displaying when dtype(datetime) column has NaT values
fix dataframe_to_dict() issues by replacing NaT empty string and prepare for proper `.replace({NaT})` fix
This commit is contained in:
parent
118ae8a3d0
commit
926b017981
@ -12,7 +12,7 @@ import psutil
|
|||||||
from dateutil.relativedelta import relativedelta
|
from dateutil.relativedelta import relativedelta
|
||||||
from dateutil.tz import tzlocal
|
from dateutil.tz import tzlocal
|
||||||
from numpy import NAN, inf, int64, mean
|
from numpy import NAN, inf, int64, mean
|
||||||
from pandas import DataFrame
|
from pandas import DataFrame, NaT, isnull
|
||||||
|
|
||||||
from freqtrade import __version__
|
from freqtrade import __version__
|
||||||
from freqtrade.configuration.timerange import TimeRange
|
from freqtrade.configuration.timerange import TimeRange
|
||||||
@ -963,6 +963,24 @@ class RPC:
|
|||||||
sell_mask = (dataframe['sell'] == 1)
|
sell_mask = (dataframe['sell'] == 1)
|
||||||
sell_signals = int(sell_mask.sum())
|
sell_signals = int(sell_mask.sum())
|
||||||
dataframe.loc[sell_mask, '_sell_signal_close'] = dataframe.loc[sell_mask, 'close']
|
dataframe.loc[sell_mask, '_sell_signal_close'] = dataframe.loc[sell_mask, 'close']
|
||||||
|
"""
|
||||||
|
band-aid until this is fixed:
|
||||||
|
https://github.com/pandas-dev/pandas/issues/45836
|
||||||
|
"""
|
||||||
|
datetime_types = ['datetime', 'datetime64', 'datetime64[ns, UTC]']
|
||||||
|
date_columns = dataframe.select_dtypes(include=datetime_types)
|
||||||
|
for date_column in date_columns:
|
||||||
|
# replace NaT with empty string,
|
||||||
|
# because if replaced with `None`
|
||||||
|
# it will be casted into NaT again
|
||||||
|
dataframe[date_column] = dataframe[date_column].apply(
|
||||||
|
lambda x: '' if isnull(x) else x)
|
||||||
|
|
||||||
|
"""
|
||||||
|
try this if above pandas Issue#45836 is fixed:
|
||||||
|
https://github.com/pandas-dev/pandas/issues/45836
|
||||||
|
"""
|
||||||
|
# dataframe = dataframe.replace({NaT: None})
|
||||||
dataframe = dataframe.replace([inf, -inf], NAN)
|
dataframe = dataframe.replace([inf, -inf], NAN)
|
||||||
dataframe = dataframe.replace({NAN: None})
|
dataframe = dataframe.replace({NAN: None})
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user