假设我想使用 xarray 处理一些日常天气数据,其组织方式类似于 xarray 文档中的这个示例:
但是,数据以多个 Excel 文件的形式提供给我,其中每个文件包含一天的数据。文件名包含日期信息,文件看起来像里面的这个玩具示例:
X Y Temp Prec
1 1 21 34
1 2 24 4
1 3 22 35
2 1 23 36
我能够将文件读入熊猫数据框:
for f in files:
datestring = f.split('.')[0]
date = datetime.strptime(datestring, '%Y%m%d')
df = pd.read_excel(f, 0)
df['Date'] = date
我可以用所有数据()制作一个大数据框,dfAll.append(df)
并在数据框和数据集之间进行转换(xr.Dataset.from_dataframe(df)
)。但是,我无法按照图像所示重新索引和组织我的数据集。我的数据集最终如下所示:
<xarray.Dataset>
Dimensions: (index: 120)
Coordinates:
* index (index) int64 106 107 108 109 ...
Data variables:
X (index) float64 1 1 1 2 ...
Y (index) float64 1 2 3 1 ...
Temp (index) float64 21 24 22 23 ...
Prec (index) float64 34 40 35 36 ...
Date (index) datetime64[ns] 2017-01-02 2017-01-02 2017-01-02 ...
如何像示例一样重新组织我的数据?哪些操作应该在 pandas 中进行,哪些在 xarray 中?基本上我希望将日期、X 和 Y 作为标签,并将 Temp & Prec 数据作为我的变量。