commented init

fixed mutability
commented getans
This commit is contained in:
Mark 2022-08-13 16:28:04 +03:00
parent 16ca68b77d
commit 4ad23a9bea

View File

@ -1,51 +1,50 @@
import pandas as pd
import datetime
import numpy as np import numpy as np
import plotly as pl
import plotly.graph_objs as go
import matplotlib.pyplot as plt
import math
import scipy
import random
import statistics
import datetime
class CoreMath: class CoreMath:
def __init__(self, base_df, params={ def __init__(self, base_df, params=None):
'dataType':'ohcl', """
'action': None, Этот класс нужен для того, чтобы проводить операции над датафреймами
'actionOptions':{} :param base_df: pandas.DataFrame , датафрейм, над которым будут проведены математические операции
} :param params: словарь, который определяет какие данные пришли в класс, и что с ними нужно делать, и как
): """
if params is None:
self.base_df=base_df.reset_index(drop=True) params = {
self.params=params 'dataType': 'ohcl',
'action': None,
'actionOptions': {}
}
# нужно переопределить индексы, потому что нам ничего не известно об индексации входного файла
self.base_df = base_df.reset_index(drop=True)
self.params = params
# Эта часть определяет с какой частью данных нужно проводить вычисления
if self.params['dataType']=='ohcl': if self.params['dataType']=='ohcl':
self.col=self.base_df[self.params['actionOptions']['valueType']] self.col=self.base_df[self.params['actionOptions']['valueType']]
elif self.params['dataType']=='series': elif self.params['dataType']=='series':
self.col=self.base_df self.col=self.base_df
# собственно производим вычисления
self.ans=self.getAns() self.ans=self.getAns()
def getAns(self): def getAns(self):
"""
Эта функция занимается собственно рутингом вычислений, в зависимости от параметров
:return: ans, неопределенный тип данных, в заивисимости от action
"""
ans=None ans=None
# в зависимости от параметра action производятся соответсвующие действия
if self.params['action']=='findExt': if self.params['action']=='findExt':
ans = self.getExtremumValue() ans = self.getExtremumValue()
elif self.params['action']=='findMean': elif self.params['action']=='findMean':
ans = self.getMeanValue() ans = self.getMeanValue()
elif self.params['action']=='findSTD': elif self.params['action']=='findSTD':
ans=self.getSTD() ans = self.getSTD()
return ans return ans