xarray | N-D labeled arrays and datasets in Python | Dataset library

 by   pydata Python Version: 2024.2.0 License: Apache-2.0

kandi X-RAY | xarray Summary

kandi X-RAY | xarray Summary

xarray is a Python library typically used in Artificial Intelligence, Dataset, Numpy, Pandas applications. xarray has no vulnerabilities, it has build file available, it has a Permissive License and it has high support. However xarray has 42 bugs. You can install using 'pip install xarray' or download it from GitHub, PyPI.

N-D labeled arrays and datasets in Python
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              xarray has a highly active ecosystem.
              It has 2991 star(s) with 944 fork(s). There are 107 watchers for this library.
              There were 7 major release(s) in the last 6 months.
              There are 999 open issues and 2741 have been closed. On average issues are closed in 317 days. There are 143 open pull requests and 0 closed requests.
              It has a positive sentiment in the developer community.
              The latest version of xarray is 2024.2.0

            kandi-Quality Quality

              OutlinedDot
              xarray has 42 bugs (3 blocker, 0 critical, 37 major, 2 minor) and 419 code smells.

            kandi-Security Security

              xarray has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              xarray code analysis shows 0 unresolved vulnerabilities.
              There are 17 security hotspots that need review.

            kandi-License License

              xarray is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              xarray releases are available to install and integrate.
              Deployable package is available in PyPI.
              Build file is available. You can build the component from source.
              xarray saves you 53517 person hours of effort in developing the same functionality from scratch.
              It has 61794 lines of code, 4540 functions and 152 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed xarray and discovered the below as its top functions. This is intended to give you an instant insight into xarray implemented functionality, and help decide if they suit your requirements.
            • A wrapper function that maps the given function to the template function .
            • Create a 2 - dimensional plot .
            • Apply a function to a function .
            • Combine the data set by coords .
            • Aligns all objects that overlap the given indexes .
            • Create a matplot function for plots .
            • Creates a mfdaset for the given paths .
            • Performs a deep - merge .
            • Generates a date range from a set of dates .
            • Combines two datasets together with concatenation of dimensions .
            Get all kandi verified functions for this library.

            xarray Key Features

            No Key Features are available at this moment for xarray.

            xarray Examples and Code Snippets

            xarray - MissingSpatialDimensionError (assign coordinates as dimensions)
            Pythondot img1Lines of Code : 60dot img1License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            In [7]: countries = gpd.read_file('https://naturalearth.s3.amazonaws.com/110m_cultural/ne_110m_admin_0_countries.zip')
            
            In [13]: sample = np.arange(100)
                ...: ddm = np.arange(4)
                ...: timestep = pd.date_range(
            Converting to pandas datetime data does not match format
            Pythondot img2Lines of Code : 2dot img2License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            pd.to_datetime("19810101.47916667",format='%Y%m%d.%f'
            
            Python: Masking ERA5 data (NetCDF) from shapefile (polygon/multipolygon)
            Pythondot img3Lines of Code : 17dot img3License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            import geopandas as gpd
            import xarray as xr
            import rioxarray
            from shapely.geometry import mapping
            
            # load shapefile with geopandas
            radar_north = gpd.read_file('radar_north140.shp')
            
            # load ERA5 netcdf with xarray
            era = xr.open_dataset('ERA
            Python Change Dimension and Coordinates Xarray Dataset
            Pythondot img4Lines of Code : 50dot img4License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            ds = ds.unstack('index_id')
            
            In [16]: y = np.arange(58, 23, -1)
                ...: x = np.arange(-130, -63, 1)
            
            In [17]: ds = xr.Dataset(
                ...:     data_vars={
                ...:         v: (("index",), np.random.random(len(x) * len
            Xarray masking at certain location
            Pythondot img5Lines of Code : 3dot img5License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            Lae21.NDVI.loc[{"x": lat_mask, "y": lon_mask}] = np.NaN
            
            
            how do i continuously add data to a .csv file in python
            Pythondot img6Lines of Code : 2dot img6License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            rf.flush()
            
            How to format dates with a Xarray GRIB file
            Pythondot img7Lines of Code : 3dot img7License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            time = ds['time'].dt.strftime('%m-%d-%Y')
            ax.set_title('Arctic 2-m Temperature Anomaly: \n' + time.values, size=fontsize, weight='bold')
            
            Not using band as dimension while reading raster using xarray
            Pythondot img8Lines of Code : 2dot img8License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            ds = ds.sel(band = 1)
            
            How to open/download MODIS data in XArray using OPeNDAP
            Pythondot img9Lines of Code : 5dot img9License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            login_url = "https://opendap.cr.usgs.gov/opendap/hyrax/MOD13Q1.061/h01v10.ncml.ascii?YDim[0],XDim[0],time[0]"
            dataset_url = 'https://opendap.cr.usgs.gov/opendap/hyrax/MOD13Q1.061/h01v10.ncml'
            session = setup_session('my_username', 'my_pass
            Generate Streamplot With 2D Raster Arrays
            Pythondot img10Lines of Code : 10dot img10License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            ds = xr.Dataset({'u': ucomp, 'v': 'vcomp'})
            ds.plot.streamplot(x="x", y="y", u="u", v="v")
            
            plt.streamplot(
                ux.ravel(),
                uy.ravel(),
                ucomp.values.ravel(),
                vcomp.values.ravel(),
            )
            

            Community Discussions

            QUESTION

            Xarray (from grib file) to dataset
            Asked 2021-Jun-16 at 02:36

            I have a grib file containing monthly precipitation and temperature from 1989 to 2018 (extracted from ERA5-Land).

            I need to have those data in a dataset format with 6 column : longitude, latitude, ID of the cell/point in the grib file, date, temperature and precipitation.

            I first imported the file using cfgrib. Here is what contains the xdata list after importation:

            ...

            ANSWER

            Answered 2021-Jun-16 at 02:36

            Here is the answer after a bit of trial and error (only putting the result for tp variable but it's similar for t2m)

            Source https://stackoverflow.com/questions/67963199

            QUESTION

            rioxarray (or xarray) converts spatial_ref coordinate to variable after reprojecting and saving with to_netcdf?
            Asked 2021-Jun-13 at 15:12

            I have a "dataarray" which I am trying to reproject it using rioxarray. However after reprojection when I use xarray.to_netcdf, the saved file is a dataset where the "spatial_ref" coordinate converted to a variable. I am not sure if that is xarray or rioxarray.reprojection causes this behavior. Here are some codes that show the issue:

            ...

            ANSWER

            Answered 2021-Apr-29 at 17:43

            The issue was I did not set decode_coords="all" when I used xarray.open_dataarray. With the following everything looks ok:

            Source https://stackoverflow.com/questions/67306598

            QUESTION

            Is there a simple way of getting an xyz array from xarray dataset?
            Asked 2021-Jun-10 at 08:25

            Is there a simple way of getting an array of xyz values (i.e. an array of 3 cols and nrows = number of pixels) from an xarray dataset? Something like what we get from the rasterToPoints function in R.

            I'm opening a netcdf file with values for a certain variable (chl). I'm not able to add images here directly, but here is a screenshot of the output:

            Xarray dataset structure

            I need to end with an array that have this structure:

            ...

            ANSWER

            Answered 2021-Jun-09 at 20:29

            I can suggest you a small pseudo-code:

            Source https://stackoverflow.com/questions/67910911

            QUESTION

            How to implement summation (∑) on 3d xarray data?
            Asked 2021-Jun-07 at 21:14

            Assume I have two variables in a dataset in xarray format as follow:

            ...

            ANSWER

            Answered 2021-Jun-07 at 21:14

            Thanks for the clear example.

            If I'm interpreting the example correctly — and we want to reduce over the time dimension — then here's the first half, and the second half follows exactly.

            Source https://stackoverflow.com/questions/67824371

            QUESTION

            Numpy iteration over all dimensions but the last one with unknown number of dimensions
            Asked 2021-Jun-07 at 11:09

            Physical Background

            I'm working on a function that calculates some metrics for each vertical profile in an up to four dimensional temperature field (time, longitude, latitude, pressure as height measure). I have a working function that takes the pressure and temperature at a single location and returns the metrics (tropopause information). I want to wrap it with a function that applies it to every vertical profile in the data passed.

            Technical Description of the Problem

            I want my function to apply another function to every 1D array corresponding to the last dimension in my N-dimensional array, where N <= 4. So I need an efficient loop over all dimensions but the last one without knowing the number of dimensions beforehand.

            Why I Open a New Question

            I am aware of several questions (e.g., iterating over some dimensions of a ndarray, Iterating over the last dimensions of a numpy array, Iterating over 3D numpy using one dimension as iterator remaining dimensions in the loop, Iterating over a numpy matrix with unknown dimension) asking how to iterate over a specific dimension or how to iterate over an array with unknown dimensions. The combination of these two problems is new as far as I know. Using numpy.nditer for example I haven't found out how to exclude just the last dimension regardless of the number of dimensions left.

            EDIT

            I tried to do a minimal, reproducible example:

            ...

            ANSWER

            Answered 2021-Jun-07 at 11:09

            I've used @hpaulj 's reshape approach several times. It means the loop can iterate the whole array by 1d slices.

            Simplified the function and data to have something to test.

            Source https://stackoverflow.com/questions/67857864

            QUESTION

            Move dimensions to original order after apply_ufunc in xarray?
            Asked 2021-May-31 at 07:20

            My dataset has 3 dimensions in the order (time, y, x) and I use apply_ufunc to apply a computation along the time dimension. This rearranges the order of the dimensions as (y, x, time). I need to restructure the xarray so its in the (time, y, x) order as the original dataset. How would I go along doing this?

            Here is a visual description of what's happening:

            Before:

            Then I apply my function:

            ...

            ANSWER

            Answered 2021-May-29 at 06:10

            Would np.swapaxes help?

            Source https://stackoverflow.com/questions/67746186

            QUESTION

            Python stack loses data
            Asked 2021-May-29 at 08:20

            I'm trying to reorganise my data (the overarching goal is to convert a ASCII file to netCDF). One of the steps to get there is to take the data and stack the columns. My original data look like this:

            ...

            ANSWER

            Answered 2021-May-29 at 08:20

            QUESTION

            Generating a plot for all the time steps of netcdf file into a map
            Asked 2021-May-25 at 14:36

            I was wondering if it's possible to plot all the steps from this single netcdf file into a separate plots.

            Step 113 means that the current accessed data is for the date of October 22,2019. The Step 0 is July 1,2019. There are 135 time steps overall. Which means I need to produce 135 maps for each and single day.

            ...

            ANSWER

            Answered 2021-May-25 at 14:36

            One example of making a loop over time variable and maps of variable inside the loop, is here:

            Source https://stackoverflow.com/questions/67583375

            QUESTION

            Renaming xarray variable reverts to old variable when writing to netcdf
            Asked 2021-May-21 at 13:43

            I am trying to rename a variable in some netcdf files. I am able to accomplish this using xr.Dataset.rename(). However, when I write that out to a netcdf file it has the old variable name that I was trying to replace. Here is the output from the original:

            ...

            ANSWER

            Answered 2021-May-21 at 13:43

            Using data.rename instead of data.rename_vars will solve this issue.

            Source https://stackoverflow.com/questions/67627143

            QUESTION

            Why can't I use cartopy to plot certain time averages of the same dataset?
            Asked 2021-May-17 at 23:20

            I have a 3-dimensional xarray DataArray of changes in surface temperature with coordinates of time, lat and lon. I am visualizing the data using Cartopy. You can find the 125 MB file here.

            While producing plots of time-averages over different periods, I've found that I'm unable to produce orthographic projections when including certain time steps, such as the 132nd (index 131) time. Here is a plot of the time average from 0 to 130:

            But this happens when I instead perform the time average from 0 to 131:

            Here is the code I used to produce the plots:

            ...

            ANSWER

            Answered 2021-May-17 at 23:20

            You can use ax.set_global() method to reset the coordinate limits:

            Source https://stackoverflow.com/questions/67575329

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install xarray

            You can install using 'pip install xarray' or download it from GitHub, PyPI.
            You can use xarray like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            Install
          • PyPI

            pip install xarray

          • CLONE
          • HTTPS

            https://github.com/pydata/xarray.git

          • CLI

            gh repo clone pydata/xarray

          • sshUrl

            git@github.com:pydata/xarray.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link