Support explicitly setting a dimension order with to_dataframe()#4333
Support explicitly setting a dimension order with to_dataframe()#4333dcherian merged 6 commits intopydata:masterfrom Thomas-Z:to_dataframe_dimensions_order
Conversation
|
Great, thanks @Thomas-Z , LGTM Does anyone have thoughts on the kwarg name? |
|
How about |
|
Hello, I actually followed @shoyer suggestion to use to_dask_dataframe parameter name. And I just realized I only did half the work. I'll add this parameter to DataArray.to_dataframe if you validate this name. |
|
OK consistency with |
|
I like |
xarray/core/dataset.py
Outdated
| if dim_order is None: | ||
| dim_order = list(self.dims) | ||
| elif set(dim_order) != set(self.dims): | ||
| raise ValueError( | ||
| "dim_order {} does not match the set of dimensions on this " | ||
| "Dataset: {}".format(dim_order, list(self.dims)) | ||
| ) |
There was a problem hiding this comment.
Maybe we could make a small helper method _normalize_dim_order() that we could use both here and in to_dask_dataframe?
|
Do we want DataArray.to_dataframe to be consistent with Dataset.to_dataframe regarding the default dimension ordering (i.e. alphabetically) or do we want to keep the current behavior (DataArray.dims order)? |
|
Refactoring some code, fixing some docstring.
|
Thanks @Thomas-Z . I see this is your first PR here. Welcome to xarray! |
|
Thanks @Thomas-Z ! Great to have you as a contributor |
|
My pleasure. |
* upstream/master: (34 commits) Fix bug in computing means of cftime.datetime arrays (pydata#4344) fix some str accessor inconsistencies (pydata#4339) pin matplotlib in ci/requirements/doc.yml (pydata#4340) Clarify drop_vars return value. (pydata#4244) Support explicitly setting a dimension order with to_dataframe() (pydata#4333) Increase support window of all dependencies (pydata#4296) Implement interp for interpolating between chunks of data (dask) (pydata#4155) Add @mathause to current core developers. (pydata#4335) install sphinx-autosummary-accessors from conda-forge (pydata#4332) Use sphinx-accessors-autosummary (pydata#4323) ndrolling fixes (pydata#4329) DOC: fix typo argmin -> argmax in DataArray.argmax docstring (pydata#4327) pin sphinx to 3.1(pydata#4326) nd-rolling (pydata#4219) Implicit dask import 4164 (pydata#4318) allow customizing the inline repr of a duck array (pydata#4248) silence the known docs CI issues (pydata#4316) enh: fixed pydata#4302 (pydata#4315) Remove all unused and warn-raising methods from AbstractDataStore (pydata#4310) Fix map_blocks example (pydata#4305) ...
* upstream/master: (40 commits) Fix bug in computing means of cftime.datetime arrays (pydata#4344) fix some str accessor inconsistencies (pydata#4339) pin matplotlib in ci/requirements/doc.yml (pydata#4340) Clarify drop_vars return value. (pydata#4244) Support explicitly setting a dimension order with to_dataframe() (pydata#4333) Increase support window of all dependencies (pydata#4296) Implement interp for interpolating between chunks of data (dask) (pydata#4155) Add @mathause to current core developers. (pydata#4335) install sphinx-autosummary-accessors from conda-forge (pydata#4332) Use sphinx-accessors-autosummary (pydata#4323) ndrolling fixes (pydata#4329) DOC: fix typo argmin -> argmax in DataArray.argmax docstring (pydata#4327) pin sphinx to 3.1(pydata#4326) nd-rolling (pydata#4219) Implicit dask import 4164 (pydata#4318) allow customizing the inline repr of a duck array (pydata#4248) silence the known docs CI issues (pydata#4316) enh: fixed pydata#4302 (pydata#4315) Remove all unused and warn-raising methods from AbstractDataStore (pydata#4310) Fix map_blocks example (pydata#4305) ...
|
Just noting for GitHub metadata purposes that this PR addresses the |
isort . && black . && mypy . && flake8whats-new.rst