如何解决如何获取xr.Dataset坐标作为字符串?
我创建了一个xarray.Dataset。在“数据集”中,我想获取某个cordrinate的列表。
示例代码如下所示。在代码中,数据集“ ds”包含4个“ MachineType”,即“ MC_A”,“ MC_B”,“ MC_C”和“ MC_D”。 我想将它们作为字符串获取,以便最后一个for循环执行'MC_A','MC_B','MC_C','MC_D'。
import xarray as xr
import numpy as np
import pandas as pd
x = np.linspace(0,1500,16)
y1 = np.random.random((1,1,6,len(x)))
y2 = np.random.random((1,len(x)))
y3 = np.random.random((1,len(x)))
y4 = np.random.random((1,len(x)))
da1 = xr.DataArray(y1,dims=('MachineID','MachineType','Year','Month','Compensation','Axis','SensorID','Pos'),coords={'MachineID':['MC_A'],'MachineType':['Car'],'Year':['2020'],'Month':['Aug'],'Compensation':[1],'Axis':['X'],'SensorID':range(6),'Pos':x},name='val')
da2 = xr.DataArray(y2,coords={'MachineID':['MC_B'],name='val')
da3 = xr.DataArray(y3,coords={'MachineID':['MC_C'],'MachineType':['Train'],name='val')
da4 = xr.DataArray(y4,coords={'MachineID':['MC_D'],name='val')
#%%
df = pd.concat([da1.to_dataframe(),da2.to_dataframe(),da3.to_dataframe(),da4.to_dataframe()])
ds=xr.Dataset.from_dataframe(df)
ds
#%% This part is not working as I want
for machineid in ds['MachineID']:
print(machineid)
解决方法
只需在打印命令中添加.values
并将类型更改为str
:
for machineid in ds['MachineID']:
print(str(machineid.values))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。