Poor error message on Dataset.sum(axis=...)
See original GitHub issueMCVE Code Sample
I’m attaching the relevant .nc
file.
foo = xr.open_dataset('ll_means.nc')
print(foo)
foo.sum(axis=1) # or foo.sum(axis=0)
Instead of getting a sum (either across the data variables or across the dimension shared between the variables), I get the error in the title: ValueError: cannot supply both 'axis' and 'dim' arguments
even though I did not supply a dim
argument. Furthermore, I get this error even when passing dim=None
.
It’s possible that I am doing something wrong, and it is just the error message that is bad, and not the behavior. I don’t know enough to tell.
Expected Output
TBQH, I didn’t know whether this would sum across the (single) dimension of this dataset, or if it would sum across the data variables along that dimension. I was experimenting to try to figure this out.
What I am trying to do is sum across the data variables, “perpendicular” to a dimension, instead of along it.
Problem Description
I assumed that summing across one of the axes would sum across the data variables, but perhaps that was a bad assumption. At any rate, the current behavior is undesirable.
Output of xr.show_versions()
xarray: 0.12.3 pandas: 0.25.1 numpy: 1.17.1 scipy: 1.3.1 netCDF4: 1.5.2 pydap: None h5netcdf: None h5py: 2.9.0 Nio: None zarr: None cftime: 1.0.3.4 nc_time_axis: None PseudoNetCDF: None rasterio: None cfgrib: None iris: None bottleneck: None dask: None distributed: None matplotlib: 3.1.1 cartopy: None seaborn: 0.9.0 numbagg: None setuptools: 41.2.0 pip: 19.3.1 conda: None pytest: None IPython: 7.8.0 sphinx: None
Issue Analytics
- State:
- Created 4 years ago
- Comments:10 (7 by maintainers)
Top GitHub Comments
I think there’s space here to make xarray more user friendly. A better error message would particularly be useful with new xarray users which are used to numpy and pandas - which is the most common new user profile TBH.
OK, good points