xarray 笔记:DataArray
生活随笔
收集整理的這篇文章主要介紹了
xarray 笔记:DataArray
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 DataArray介紹
xarray.DataArray?是一個使用標簽的多維數組
1.1 DataArray 的關鍵數組
比如一個DataArray是這樣的:
| values | 保存數組值的numpy.ndarray |
| dims | 每個坐標軸的維度名稱 (例如, (‘x’, ‘y’, ‘z’)) ? |
| coords | 一個包含數組坐標的類似字典的容器,用來標記每個點(例如,數字,日期時間對象或字符串的一維數組) ? |
| attrs | 存放任意元數據(屬性)的字典 |
- xarray使用dims和coords來實現其核心元數據的感知操作。
- 維度(Dimensions)提供xarray使用的名稱,而不是許多numpy函數中的axis參數。?
- 坐標(Coordinates)基于pandas的DataFrame或Series上的索引(index)功能,可實現基于標簽的快速索引和對齊。
2 Data Array的創建
創建一個Data需要的參數有:
| data | 包含值的多維數組(例如一個numpy ndarray,Series,DataFrame或pandas.Panel) |
| coords (可選參數) | 一個包含坐標的列表或字典。 如果是列表,則應為元組列表,其中第一個元素是維名稱,第二個元素是對應的坐標類似array的對象。 |
| dims (可選參數) | 包含維名稱的列表。 如果省略,并且coords是包含元組的列表,則維度名稱取自coords。 |
| attrs (可選參數) | 添加到實例的屬性字典 |
| name (可選參數) | 命名實例的字符串 |
注:維度必須與data的實際維度一致,按照data.shape的順序一個一個擺。
?2.1 坐標
2.1.1 沒有顯示指定坐標
如果沒有dim,那么會采取默認的坐標:dim_N
from xarray import *data = np.random.rand(4, 3)locs = ['IA', 'IL', 'IN']times = pd.date_range('2000-01-01', periods=5)#foo = DataArray(data, coords=[times, locs], dims=['time_0', 'space_0'])foo = DataArray(data)foo?
2.1.2 坐標創建方式
除了前面所說的和coord合用以及默認創建外,還有:
| 格式為(dims, data[, attrs])的元組 | |
| 形式為{coord_name: coord}的字典,其中值的形式與列表相同。? | 以字典的形式提供坐標,允許除了對應的維度的坐標以外的其他坐標 如果將coords作為字典提供,則必須顯式提供dims。 ? |
?2.2?用pandas.Series創建
?
?這時候已經有坐標軸了,可以直接用Series創建
?2.3 用DataFrame創建
a=pd.DataFrame([[1,2],[3,4]])DataArray(a)?3 DataArray 屬性
3.1 基本屬性值
Data Array的data值
from xarray import * import numpy as npdata = np.random.rand(4, 3)locs = ['IA', 'IL', 'IN']times = pd.date_range('2000-01-01', periods=4)x=DataArray(data, coords=[('time', times), ('space', locs)])| x.values | data 值 |
| x.dims | |
| x.coords | |
| x.attrs | |
| x.name |
3.2 索引坐標值
x['time'] 和?x.coords['time'] 是等價的
總結
以上是生活随笔為你收集整理的xarray 笔记:DataArray的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: numpy 笔记:setdiff1d
- 下一篇: linux 笔记: screen