@ -7,10 +7,11 @@ import numpy as np
class Importer ( ) :
class Importer ( ) :
""" Importer forisce tutti i metodi per portare il dataset in input nelle strutture dati corrette per essere trattate
""" Importer forisce tutti i metodi per importare i dataset in input in pandas data_frame ed effettuare operazioni
in memoria . . . . . .
volte ad ottenere i valori contenuti in tali frame nel formato utile alle computazioni sui dati .
: files_path : il path alla cartella contenente i dataset da utilizzare
: files_path : il path alla cartella contenente i dataset da utilizzare
: df_list : lista contentente tutti i padas_data_frame che saranno importati
"""
"""
def __init__ ( self , files_path ) :
def __init__ ( self , files_path ) :
self . files_path = files_path
self . files_path = files_path
@ -18,14 +19,44 @@ class Importer():
self . trajectories = [ ]
self . trajectories = [ ]
def import_data_from_csv ( self ) :
def import_data_from_csv ( self ) :
""" Importa tutti i file csv presenti nel path files_path in data_frame distinti.
Aggiunge ogni data_frame alla lista df_list .
Parameters :
void
Returns :
void
"""
read_files = glob . glob ( os . path . join ( self . files_path , " *.csv " ) )
read_files = glob . glob ( os . path . join ( self . files_path , " *.csv " ) )
for file in read_files :
for file in read_files :
my_df = pd . read_csv ( file ) #TODO:Aggiungere try-catch controllo correttezza dei tipi di dato presenti nel dataset e.g. i tipi di dato della seconda colonna devono essere float
my_df = pd . read_csv ( file ) #TODO:Aggiungere try-catch controllo correttezza dei tipi di dato presenti nel dataset e.g. i tipi di dato della seconda colonna devono essere float
self . df_list . append ( my_df )
self . df_list . append ( my_df )
def merge_value_columns ( self , df ) :
def merge_value_columns ( self , df ) :
""" Effettua il merging di tutte le colonne che contengono i valori delle variabili in un unica colonna chiamata State.
Parameters :
df : il data_frame su cui effettuare il merging delle colonne
Returns :
void
"""
df [ ' State ' ] = df [ df . columns [ 2 : ] ] . apply ( lambda row : ' ' . join ( row . values . astype ( str ) ) , axis = 1 )
df [ ' State ' ] = df [ df . columns [ 2 : ] ] . apply ( lambda row : ' ' . join ( row . values . astype ( str ) ) , axis = 1 )
def get_data_frames ( self ) :
return self . df_list
def clear_data_frames ( self ) :
for data_frame in self . df_list :
data_frame = data_frame . iloc [ 0 : 0 ]
def build_trajectories ( self ) :
def build_trajectories ( self ) :
for data_frame in self . df_list :
for data_frame in self . df_list :
self . merge_value_columns ( data_frame )
self . merge_value_columns ( data_frame )
@ -42,26 +73,7 @@ imp = Importer("../data")
imp . import_data_from_csv ( )
imp . import_data_from_csv ( )
imp . build_trajectories ( )
imp . build_trajectories ( )
print ( imp . trajectories [ 0 ] )
print ( imp . trajectories [ 0 ] )
#print(len(imp.df_list))
#print(imp.df_list[0])
#for column in imp.df_list[0].columns[2:]:
#print(imp.df_list[0][column])
#imp.df_list[0]['State'] = imp.df_list[0][column].astype(str)
#imp.df_list[0]['State'] = imp.df_list[0][imp.df_list[0].columns[2:]].apply(lambda row: ''.join(row.values.astype(str)), axis=1)
#imp.df_list[0]['new'] = imp.df_list[0].astype(str).values.sum(axis=1)
#print(imp.df_list[0])
#trajectory = imp.df_list[0][['Time','State']].to_numpy()
#print(hash(trajectory[0][1]))
#print(hash(trajectory[0][1]))
#imp.df_list[0] = imp.df_list[0].iloc[0:0]
#print(imp.df_list[0])
#print(type(imp.df_list[0].iloc[0,2]))
#print(imp.df_list[0].iloc[:, 2:])
#imp.merge_columns_values((imp.df_list[0]))
#print(type(imp.df_list[0].iloc[0,2]))