@@ -67,8 +67,16 @@ def dataplot(config_filename,**kwargs):
6767 plot_range_in = kwargs .get ('plot_range' )
6868 plot_range = range (plot_range_in [0 ]- 2 ,plot_range_in [- 1 ]- 1 )
6969
70+ # Rebuild the default NA strings *excluding* 'N/A'
71+ default_na = {
72+ '' , '#N/A' , '#N/A N/A' , '#NA' , '-1.#IND' , '-1.#QNAN' ,
73+ '1.#IND' , '1.#QNAN' , '<NA>' , 'NA' , 'NULL' , 'NaN' ,
74+ 'n/a' , 'nan' , 'null'
75+ }
76+ safe_na_values = default_na # 'N/A' intentionally not included
77+
7078 # read the config file
71- df = pd .read_csv (configdir + config_filename , sep = ',' , engine = 'python' , comment = '#' , quotechar = '"' )
79+ df = pd .read_csv (configdir + config_filename , sep = ',' , engine = 'python' , comment = '#' , quotechar = '"' , na_values = safe_na_values , keep_default_na = False )
7280 C = df .where (pd .notnull (df ), None )
7381
7482 Plot_Filename_Last = None
@@ -103,12 +111,17 @@ def dataplot(config_filename,**kwargs):
103111 # read data from exp file
104112 # set header to the row where column names are stored (Python is 0 based)
105113 E = pd .read_csv (expdir + pp .d1_Filename , header = int (pp .d1_Col_Name_Row - 1 ), sep = ',' , engine = 'python' , comment = '#' , quotechar = '"' )
114+ E .columns = E .columns .str .strip () # <-- Strip whitespace from headers
106115
107116 x = E [pp .d1_Ind_Col_Name ].values [:].astype (float )
108117 # y = E[pp.d1_Dep_Col_Name].values[:].astype(float)
109118 col_names = [c .strip () for c in pp .d1_Dep_Col_Name .split ('|' )]
110- # print(col_names)
111- y = E [col_names ].values .astype (float )
119+ # y = E[col_names].values.astype(float)
120+ y = np .column_stack ([
121+ E [cols ].astype (float ).sum (axis = 1 ) if '+' in name else E [[name ]].astype (float ).values .ravel ()
122+ for name in col_names
123+ for cols in [name .split ('+' )]
124+ ])
112125
113126 styles = [c .strip () for c in pp .d1_Style .split ('|' )]
114127 key_labels = [c .strip () for c in pp .d1_Key .split ('|' )]
@@ -147,6 +160,7 @@ def dataplot(config_filename,**kwargs):
147160 # read data from exp file
148161 # set header to the row where column names are stored (Python is 0 based)
149162 E = pd .read_csv (expdir + pp .d1_Filename , header = int (pp .d1_Col_Name_Row - 1 ), sep = ',' , engine = 'python' , comment = '#' , quotechar = '"' )
163+ E .columns = E .columns .str .strip () # <-- Strip whitespace from headers
150164 x = E [pp .d1_Ind_Col_Name ].values [:].astype (float )
151165 y = E [pp .d1_Dep_Col_Name ].values [:].astype (float )
152166
@@ -164,10 +178,16 @@ def dataplot(config_filename,**kwargs):
164178
165179 # get the model results
166180 M = pd .read_csv (cmpdir + pp .d2_Filename , header = int (pp .d2_Col_Name_Row - 1 ), sep = ',' , engine = 'python' , comment = '#' , quotechar = '"' )
181+ M .columns = M .columns .str .strip () # <-- Strip whitespace from headers
167182 x = M [pp .d2_Ind_Col_Name ].values [:].astype (float )
168183 # y = M[pp.d2_Dep_Col_Name].values[:].astype(float)
169184 col_names = [c .strip () for c in pp .d2_Dep_Col_Name .split ('|' )]
170- y = M [col_names ].values .astype (float )
185+ # y = M[col_names].values.astype(float)
186+ y = np .column_stack ([
187+ M [cols ].astype (float ).sum (axis = 1 ) if '+' in name else M [[name ]].astype (float ).values .ravel ()
188+ for name in col_names
189+ for cols in [name .split ('+' )]
190+ ])
171191
172192 version_string = revision
173193 if (pp .VerStr_Filename ):
0 commit comments