@@ -91,7 +91,7 @@ def traits_view(self):
9191 @observe ("scan" )
9292 def scan_for_faces (self , event ):
9393 self .model .compute_num_faces ()
94- self .all_data = self .model .data . copy ( )
94+ self .all_data . update ( self .model .data )
9595
9696 @observe ("selected_years" )
9797 def update_years (self , event ):
@@ -117,23 +117,25 @@ def _year_mask_default(self):
117117 return pd .Series (np .ones (len (self .model .data ), dtype = bool ))
118118
119119 def _all_data_default (self ):
120+ # Enrich metadata with missing fields: date time, make
120121 data = self .model .data .copy ()
122+
121123 if DATETIME_COL not in data .columns :
122124 data [DATETIME_COL ] = np .nan
123125
124126 if MAKE_COL not in data .columns :
125127 data [MAKE_COL ] = np .nan
126128
129+ def parse_year (x ):
130+ return x .split (":" )[0 ] if isinstance (x , str ) else "unknown"
131+ data [YEAR_KEY ] = data [DATETIME_COL ].apply (parse_year )
132+
127133 return data
128134
129135 def _filtered_data_default (self ):
130136 return self .all_data
131137
132138 def _all_years_default (self ):
133- def parse_year (x ):
134- return x .split (":" )[0 ] if isinstance (x , str ) else "unknown"
135-
136- self .all_data [YEAR_KEY ] = self .all_data [DATETIME_COL ].apply (parse_year )
137139 return sorted (self .all_data [YEAR_KEY ].unique ().tolist ())
138140
139141
0 commit comments