from analysis.market_snapshot import Market from analysis.index_batch import IndexMM import pandas as pd sample_market = [ {'tamano_categorico': 'coche pequeño', 'tipo_anuncio': 1, 'precio': 15000, 'calle': 'B1', 'telefono': 123, 'latitud': 2.1, 'longitud': 1.2}, {'tamano_categorico': 'coche pequeño', 'tipo_anuncio': 1, 'precio': 20000, 'calle': 'B2', 'telefono': 321, 'latitud': 2.1, 'longitud': 1.2}, {'tamano_categorico': 'coche grande', 'tipo_anuncio': 1, 'precio': 20000, 'calle': 'B2', 'telefono': 321, 'latitud': 2.1, 'longitud': 1.2}, {'tamano_categorico': 'coche grande', 'tipo_anuncio': 1, 'precio': 25000, 'calle': 'B2', 'telefono': 123, 'latitud': 2.1, 'longitud': 1.2}, {'tamano_categorico': 'coche y moto', 'tipo_anuncio': 1, 'precio': 22000, 'calle': 'B1', 'telefono': 456, 'latitud': 2.1, 'longitud': 1.2}, {'tamano_categorico': 'coche y moto', 'tipo_anuncio': 1, 'precio': 26000, 'calle': 'B3', 'telefono': 789, 'latitud': 2.1, 'longitud': 1.2}, {'tamano_categorico': None, 'tipo_anuncio': 1, 'precio': 15000, 'calle': 'abc', 'telefono': 456, 'latitud': 2.1, 'longitud': 1.2}, {'tamano_categorico': 'moto', 'tipo_anuncio': 1, 'precio': 3000, 'calle': 'B4', 'telefono': 123, 'latitud': 2.1, 'longitud': 1.2}, {'tamano_categorico': '2 coches o más', 'tipo_anuncio': 1, 'precio': 60000, 'calle': 'B4', 'telefono': 123, 'latitud': 2.1, 'longitud': 1.2}, {'tamano_categorico': 'coche pequeño', 'tipo_anuncio': 1, 'precio': 20000, 'calle': 'B2', 'telefono': 321, 'latitud': 2.1, 'longitud': 1.2}, {'tamano_categorico': 'coche pequeño', 'tipo_anuncio': 2, 'precio': 50, 'calle': 'B4', 'telefono': 123, 'latitud': 2.1, 'longitud': 1.2}, {'tamano_categorico': 'moto', 'tipo_anuncio': 1, 'precio': 300000, 'calle': 'B4', 'telefono': 123, 'latitud': 2.1, 'longitud': 1.2} ] date_range = {'start': '2018-01-01 00:00:00', 'end': '2018-02-01 00:00:00'} market = Market() market.load_market(sample_market, date_range=date_range) market.market.fillna(value=pd.np.nan, inplace=True) print(market.market.to_string()) market.clean_market('index') print(market.market.to_string()) index = IndexMM() index.calculate(market) index.get_data()