提交 eeba0195 编写于 作者: Z zengbin93

0.3.9 优化KlineAnalyze性能

上级 fc881840
......@@ -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"
......
......@@ -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:
......
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)
# 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="日线")
......
# 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():
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册