@@ -2500,80 +2500,70 @@ def to_xarray(self):
2500
2500
2501
2501
Returns
2502
2502
-------
2503
- a DataArray for a Series
2504
- a Dataset for a DataFrame
2505
- a DataArray for higher dims
2503
+ xarray.DataArray or xarray.Dataset
2504
+ Data in the pandas structure converted to Dataset if the object is
2505
+ a DataFrame, or a DataArray if the object is a Series.
2506
+
2507
+ See Also
2508
+ --------
2509
+ DataFrame.to_hdf : Write DataFrame to an HDF5 file.
2510
+ DataFrame.to_parquet : Write a DataFrame to the binary parquet format.
2506
2511
2507
2512
Examples
2508
2513
--------
2509
- >>> df = pd.DataFrame({'A' : [1, 1, 2],
2510
- 'B' : ['foo', 'bar', 'foo'],
2511
- 'C' : np.arange(4.,7)})
2514
+ >>> df = pd.DataFrame([('falcon', 'bird', 389.0, 2),
2515
+ ... ('parrot', 'bird', 24.0, 2),
2516
+ ... ('lion', 'mammal', 80.5, 4),
2517
+ ... ('monkey', 'mammal', np.nan, 4)],
2518
+ ... columns=['name', 'class', 'max_speed',
2519
+ ... 'num_legs'])
2512
2520
>>> df
2513
- A B C
2514
- 0 1 foo 4.0
2515
- 1 1 bar 5.0
2516
- 2 2 foo 6.0
2521
+ name class max_speed num_legs
2522
+ 0 falcon bird 389.0 2
2523
+ 1 parrot bird 24.0 2
2524
+ 2 lion mammal 80.5 4
2525
+ 3 monkey mammal NaN 4
2517
2526
2518
2527
>>> df.to_xarray()
2519
2528
<xarray.Dataset>
2520
- Dimensions: (index: 3 )
2529
+ Dimensions: (index: 4 )
2521
2530
Coordinates:
2522
- * index (index) int64 0 1 2
2531
+ * index (index) int64 0 1 2 3
2523
2532
Data variables:
2524
- A (index) int64 1 1 2
2525
- B (index) object 'foo' 'bar' 'foo'
2526
- C (index) float64 4.0 5.0 6.0
2527
-
2528
- >>> df = pd.DataFrame({'A' : [1, 1, 2],
2529
- 'B' : ['foo', 'bar', 'foo'],
2530
- 'C' : np.arange(4.,7)}
2531
- ).set_index(['B','A'])
2532
- >>> df
2533
- C
2534
- B A
2535
- foo 1 4.0
2536
- bar 1 5.0
2537
- foo 2 6.0
2538
-
2539
- >>> df.to_xarray()
2533
+ name (index) object 'falcon' 'parrot' 'lion' 'monkey'
2534
+ class (index) object 'bird' 'bird' 'mammal' 'mammal'
2535
+ max_speed (index) float64 389.0 24.0 80.5 nan
2536
+ num_legs (index) int64 2 2 4 4
2537
+
2538
+ >>> df['max_speed'].to_xarray()
2539
+ <xarray.DataArray 'max_speed' (index: 4)>
2540
+ array([389. , 24. , 80.5, nan])
2541
+ Coordinates:
2542
+ * index (index) int64 0 1 2 3
2543
+
2544
+ >>> dates = pd.to_datetime(['2018-01-01', '2018-01-01',
2545
+ ... '2018-01-02', '2018-01-02'])
2546
+ >>> df_multiindex = pd.DataFrame({'date': dates,
2547
+ ... 'animal': ['falcon', 'parrot', 'falcon',
2548
+ ... 'parrot'],
2549
+ ... 'speed': [350, 18, 361, 15]}).set_index(['date',
2550
+ ... 'animal'])
2551
+ >>> df_multiindex
2552
+ speed
2553
+ date animal
2554
+ 2018-01-01 falcon 350
2555
+ parrot 18
2556
+ 2018-01-02 falcon 361
2557
+ parrot 15
2558
+
2559
+ >>> df_multiindex.to_xarray()
2540
2560
<xarray.Dataset>
2541
- Dimensions: (A : 2, B : 2)
2561
+ Dimensions: (animal : 2, date : 2)
2542
2562
Coordinates:
2543
- * B (B) object 'bar' 'foo'
2544
- * A (A) int64 1 2
2563
+ * date (date) datetime64[ns] 2018-01-01 2018-01-02
2564
+ * animal (animal) object 'falcon' 'parrot'
2545
2565
Data variables:
2546
- C (B, A) float64 5.0 nan 4.0 6.0
2547
-
2548
- >>> p = pd.Panel(np.arange(24).reshape(4,3,2),
2549
- items=list('ABCD'),
2550
- major_axis=pd.date_range('20130101', periods=3),
2551
- minor_axis=['first', 'second'])
2552
- >>> p
2553
- <class 'pandas.core.panel.Panel'>
2554
- Dimensions: 4 (items) x 3 (major_axis) x 2 (minor_axis)
2555
- Items axis: A to D
2556
- Major_axis axis: 2013-01-01 00:00:00 to 2013-01-03 00:00:00
2557
- Minor_axis axis: first to second
2558
-
2559
- >>> p.to_xarray()
2560
- <xarray.DataArray (items: 4, major_axis: 3, minor_axis: 2)>
2561
- array([[[ 0, 1],
2562
- [ 2, 3],
2563
- [ 4, 5]],
2564
- [[ 6, 7],
2565
- [ 8, 9],
2566
- [10, 11]],
2567
- [[12, 13],
2568
- [14, 15],
2569
- [16, 17]],
2570
- [[18, 19],
2571
- [20, 21],
2572
- [22, 23]]])
2573
- Coordinates:
2574
- * items (items) object 'A' 'B' 'C' 'D'
2575
- * major_axis (major_axis) datetime64[ns] 2013-01-01 2013-01-02 2013-01-03 # noqa
2576
- * minor_axis (minor_axis) object 'first' 'second'
2566
+ speed (date, animal) int64 350 18 361 15
2577
2567
2578
2568
Notes
2579
2569
-----
0 commit comments