Jamie Mitchell wrote: > On Friday, June 20, 2014 12:00:15 PM UTC+1, Peter Otten wrote: >> Jamie Mitchell wrote: >> >> >> >> > I have changed my x and y data to float64 types but I am still getting >> > the >> >> > same error message? >> >> >> >> Please double-check by adding >> >> >> >> assert x.dtype == np.float64 >> >> assert y.dtype == np.float64 >> >> >> >> If none of these assertions fail try to make a minimal script including >> some >> >> data that provokes the TypeError and post it here. > > OK this is my code: > > swh_Q0_con_sw=netCDF4.Dataset('/data/cr1/jmitchel/Q0/swh/controlperiod/south_west/swhcontrol_swest_annavg.nc','r') > hs_Q0_con_sw=swh_Q0_con_sw.variables['hs'][:] > x=hs_Q0_con_sw.astype(float64) > # When I print the dtype of x here it says 'float64' > mwp_Q0_con_sw=netCDF4.Dataset('/data/cr1/jmitchel/Q0/mean_wave_period/south_west/controlperiod/mwpcontrol_swest_annavg1D.nc','r') > te_Q0_con_sw=mwp_Q0_con_sw.variables['te'][:] > y=te_Q0_con_sw.astype(float64) > If I try assert x.dtype == np.float64 I get: > AssertionError
That means the dtype is not np.float64. As I have neither the data nor the netCDF4 library to replicate your problem I'm out. What you might try is to construct a numpy array explicitly x = np.array([float(v) for v in swh_Q0_con_sw.variables["hs"]]) but that's just a stab in the dark. > hist,xedges,yedges=np.histogram2d(x,y,bins=10) > TypeError: Cannot cast array data from dtype('O') to dtype('float64') > according to the rule 'safe' > > Thanks, > > Jamie -- https://mail.python.org/mailman/listinfo/python-list