Python 从已转换为列表的dataarray中删除坐标

Python 从已转换为列表的dataarray中删除坐标,python,pandas,list,dataframe,python-xarray,Python,Pandas,List,Dataframe,Python Xarray,我有一个dataarray,它包含了全球范围内lat、lon点上的值列表。我想为特定城市提供一个lat,lon值列表,并应用这些lat,lon点的值来创建一个数据帧。为了实现这一点,我执行下面的代码 df1=pd.read_csv('E:/Riskpulse_HD/TroPYcal/GenscapePortList.csv') lats=df1['Latitude'] lons=df1['Longitude'] count_city=[] for idx,(lon,lat) in enume

我有一个dataarray,它包含了全球范围内lat、lon点上的值列表。我想为特定城市提供一个lat,lon值列表,并应用这些lat,lon点的值来创建一个数据帧。为了实现这一点,我执行下面的代码

df1=pd.read_csv('E:/Riskpulse_HD/TroPYcal/GenscapePortList.csv')

lats=df1['Latitude']
lons=df1['Longitude']

count_city=[]
for idx,(lon,lat) in enumerate(zip(lons,lats)):
    val = grid.sel(lat=lat, lon=lon, method='nearest')
    count_city.append(val)

print(np.shape(count_city))
打印出来的图像如下所示:

[<xarray.DataArray ()>
 array(0.)
 Coordinates:
     lat      float64 40.0
     lon      float64 28.0,
 <xarray.DataArray ()>
 array(0.)
 Coordinates:
     lat      float64 40.0
     lon      float64 28.0,
 <xarray.DataArray ()>
 array(0.)
 Coordinates:
     lat      float64 42.0
     lon      float64 28.0,
df1['Counts']= count_city
df1.head()

Latitude    Longitude   Port Name   Counts
0   39.871112   20.003421   Sarande <xarray.DataArray ()>\narray(0.)\nCoordinates:...
1   40.450605   19.483051   Vlora   <xarray.DataArray ()>\narray(0.)\nCoordinates:...
2   41.810046   19.584720   Shengjin    <xarray.DataArray ()>\narray(0.)\nCoordinates:...
3   41.308849   19.454677   Durres  <xarray.DataArray ()>\narray(0.)\nCoordinates:...
4   35.819101   -0.247319   Bettioua    <xarray.DataArray ()>\narray(0.)\nCoordinates:...

我只需要所有与坐标相关的值。当类型是dataarray,但不确定是否有列表时,我熟悉如何执行此操作。

代码的结果确实是一个列表,但却是一个
dataarray
对象的列表。从:

xarray努力做到自一致:对
数据数组
(resp.
数据集
)的操作返回另一个
数据数组
(resp.
数据集
)对象。特别是,返回标量值的操作(例如,索引或聚合,如应用于所有轴的平均值或总和)也将返回xarray对象

要获得numpy数组,您必须添加(如果使用Dask数组并希望保留底层数据结构,也可以是
.data


你能把数据数组转换成列表吗<代码>列表()
val = grid.sel(lat=lat, lon=lon, method='nearest')