Я работаю с набором данных, который привязан к сетке, с указанием времени, широты и долготы в качестве индексов и месячной температуры в качестве фактической переменной. Сначала я загружаю данные и извлекаю нужную переменную.
data=xr.open_dataset('E:/Riskpulse_HD/Jon climate study/adaptor.mars.internal-1583855532.1432714-8122-5-ace27afd-90c0-4a7d-b9ca-f3d5528c5ea1.nc')
temp = data['t2m'][:,0,:,:]-273
Я создаю массивы со значениями в указанных c точках. Существует одно значение для каждого месяца, начиная с 1990-01-01
, затем 1991-02-01
и так далее до настоящего момента. Теперь я создаю словарь нескольких городов по всему миру в разных точках.
Shanghai=temp.sel(latitude=31.25, longitude=121.5)
Singapore= temp.sel(latitude=1.25, longitude=103.75)
Shenzhen= temp.sel(latitude=22.5, longitude=114)
Ningbo_Zhoushan= temp.sel(latitude=29.75, longitude=121.5)
Guangzhou= temp.sel(latitude=23.0, longitude=113.5)
citiesdf = {
"Shanghai": Shanghai,
"Singapore": Singapore,
"Shenzhen": Shenzhen,
"Ningbo-Zhoushan": Ningbo_Zhoushan,
"Guangzhou": Guangzhou}
Теперь я пытаюсь создать сам фрейм данных.
df=pd.DataFrame([citiesdf], columns=citiesdf.keys())
Но я получаю некоторые странности вывод, который выглядит следующим образом (только первые два города).
Shanghai Singapore
0 [<xarray.DataArray 't2m' ()>\narray(5.1273193,... [<xarray.DataArray 't2m' ()>\narray(26.064209,...
В идеале, я бы хотел, чтобы время (каждый месяц) было строкой или индексом и чтобы все значения температуры распаковывались в соответствии с правильный месяц Как бы я пришел к этому?