pandas.DataFrame.to_xarray#

DataFrame.to_xarray()[source] #

Return an xarray object from the pandas object.

Returns:
xarray.DataArray or xarray.Dataset

Data in the pandas structure converted to Dataset if the object is a DataFrame, or a DataArray if the object is a Series.

See also

DataFrame.to_hdf

Write DataFrame to an HDF5 file.

DataFrame.to_parquet

Write a DataFrame to the binary parquet format.

Notes

See the xarray docs

Examples

>>> df = pd.DataFrame([('falcon', 'bird', 389.0, 2),
...  ('parrot', 'bird', 24.0, 2),
...  ('lion', 'mammal', 80.5, 4),
...  ('monkey', 'mammal', np.nan, 4)],
...  columns=['name', 'class', 'max_speed',
...  'num_legs'])
>>> df
 name class max_speed num_legs
0 falcon bird 389.0 2
1 parrot bird 24.0 2
2 lion mammal 80.5 4
3 monkey mammal NaN 4
>>> df.to_xarray() 
<xarray.Dataset>
Dimensions: (index: 4)
Coordinates:
 * index (index) int64 32B 0 1 2 3
Data variables:
 name (index) object 32B 'falcon' 'parrot' 'lion' 'monkey'
 class (index) object 32B 'bird' 'bird' 'mammal' 'mammal'
 max_speed (index) float64 32B 389.0 24.0 80.5 nan
 num_legs (index) int64 32B 2 2 4 4
>>> df['max_speed'].to_xarray() 
<xarray.DataArray 'max_speed' (index: 4)>
array([389. , 24. , 80.5, nan])
Coordinates:
 * index (index) int64 0 1 2 3
>>> dates = pd.to_datetime(['2018年01月01日', '2018年01月01日',
...  '2018年01月02日', '2018年01月02日'])
>>> df_multiindex = pd.DataFrame({'date': dates,
...  'animal': ['falcon', 'parrot',
...  'falcon', 'parrot'],
...  'speed': [350, 18, 361, 15]})
>>> df_multiindex = df_multiindex.set_index(['date', 'animal'])
>>> df_multiindex
 speed
date animal
2018年01月01日 falcon 350
 parrot 18
2018年01月02日 falcon 361
 parrot 15
>>> df_multiindex.to_xarray() 
<xarray.Dataset>
Dimensions: (date: 2, animal: 2)
Coordinates:
 * date (date) datetime64[ns] 2018年01月01日 2018年01月02日
 * animal (animal) object 'falcon' 'parrot'
Data variables:
 speed (date, animal) int64 350 18 361 15