37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
from analysis.market_snapshot import Market, available_date_ranges
|
|
|
|
class IndexMM:
|
|
|
|
def __init__(self):
|
|
self.name = 'indexmm'
|
|
self.date = None
|
|
self.data = None
|
|
|
|
def calculate(self, market):
|
|
self.market = market
|
|
self.date = self.market.end_date
|
|
self.data = market.get_market_data()
|
|
|
|
data_coche_pequeno = {'count': self.data[self.data['tamano_categorico'] == 'coche pequeño'].count(),
|
|
'mean': self.data[self.data['tamano_categorico' == 'coche pequeño']]['precio'].transform('mean')}
|
|
data_coche_grande = {'count': self.data[self.data['tamano_categorico'] == 'coche grande'].count(),
|
|
'mean': self.data[self.data['tamano_categorico' == 'coche grande']]['precio'].transform('mean')}
|
|
data_coche_moto = {'count': self.data[self.data['tamano_categorico'] == 'coche y moto'].count(),
|
|
'mean': self.data[self.data['tamano_categorico' == 'coche y moto']]['precio'].transform('mean')}
|
|
|
|
self.value = (((data_coche_grande['count'] * data_coche_grande['mean']) + (data_coche_moto['count'] * data_coche_moto['mean'])
|
|
+ (data_coche_pequeno['count'] * data_coche_pequeno['mean']))
|
|
/ (data_coche_grande['count'] + data_coche_moto['count'] + data_coche_pequeno['count']))
|
|
|
|
#SEGUIR AQUI
|
|
|
|
|
|
|
|
|
|
|
|
def get_data(self):
|
|
return {'name': self.name,
|
|
'date': self.date,
|
|
'value': self.value}
|
|
|
|
|