diff --git a/czsc/__init__.py b/czsc/__init__.py index df8ada46555c78d88a7faeb07f41b47080c2204b..3677ac349a0a82c23735bf9c3188a488ba488817 100644 --- a/czsc/__init__.py +++ b/czsc/__init__.py @@ -7,7 +7,7 @@ from .solid import SolidAnalyze from .solid import is_in_tolerance, is_first_buy, is_first_sell, is_second_buy, \ is_second_sell, is_third_buy, is_third_sell, is_xd_buy, is_xd_sell -__version__ = "0.3.8" +__version__ = "0.3.9" __author__ = "zengbin93" __email__ = "zeng_bin8888@163.com" diff --git a/czsc/analyze.py b/czsc/analyze.py index 855155e93ba330889ac9c347729f6b44d30235c6..bab21b0228a8f17b484c8f67eb19466b7e4372df 100644 --- a/czsc/analyze.py +++ b/czsc/analyze.py @@ -234,7 +234,9 @@ class KlineAnalyze(object): def _preprocess(kline): """新增分析所需字段""" if isinstance(kline, pd.DataFrame): - kline = [row.to_dict() for _, row in kline.iterrows()] + columns = kline.columns.to_list() + kline = [{k: v for k, v in zip(columns, row)} for row in kline.values] + # kline = [row.to_dict() for _, row in kline.iterrows()] results = [] for k in kline: diff --git a/test/profile_df.py b/test/profile_df.py new file mode 100644 index 0000000000000000000000000000000000000000..f8155339291b5b47d13778d70662fe523ba0f7be --- /dev/null +++ b/test/profile_df.py @@ -0,0 +1,25 @@ +from cobra.data.kline import get_kline + + +def convert_to_list_v1(df): + rows = [x.to_dict() for _, x in df.iterrows()] + return rows + + +def convert_to_list_v2(df): + rows = df.to_dict("records") + return rows + + +def convert_to_list_v3(df): + columns = df.columns.to_list() + rows = [{k: v for k, v in zip(columns, row)} for row in df.values] + return rows + + +if __name__ == '__main__': + df = get_kline(ts_code="000001.SH", end_dt="2020-04-28 15:00:00", freq='D', asset='I') + # convert_to_list_v1(df) + convert_to_list_v2(df) + + diff --git a/test/test_analyze.py b/test/test_analyze.py index 4013ea4d6a086c640f0ddfcd5f25611470b3a6f0..148e04e211630582d42b713374ef630fb5c91d29 100644 --- a/test/test_analyze.py +++ b/test/test_analyze.py @@ -1,14 +1,14 @@ # coding: utf-8 import sys +import warnings from cobra.data.kline import get_kline sys.path.insert(0, '.') sys.path.insert(0, '..') import czsc from czsc import KlineAnalyze from czsc.analyze import is_bei_chi, find_zs -from czsc.utils import plot_ka -print(czsc.__version__) +warnings.warn(f"czsc version is {czsc.__version__}") df = get_kline(ts_code="000001.SH", end_dt="2020-04-28 15:00:00", freq='D', asset='I') ka = KlineAnalyze(df, name="日线") diff --git a/test/test_solid.py b/test/test_solid.py index 1721d5e8e56ddf8abc4de4cda062164bc7d6509b..c9f0a5cf44f6cb7662aed6fd0eda4877af7b35b6 100644 --- a/test/test_solid.py +++ b/test/test_solid.py @@ -1,11 +1,12 @@ # coding: utf-8 import sys +import warnings from cobra.data.kline import get_klines sys.path.insert(0, '.') sys.path.insert(0, '..') import czsc from czsc.solid import SolidAnalyze, is_in_tolerance -print(czsc.__version__) +warnings.warn(f"czsc version is {czsc.__version__}") def test_in_tolerance():