小编use*_*039的帖子

从 xarray DataArray 中删除坐标

我有一个 xarray DataArray,如下所示,形状为 (1,5,73,144,17),我试图删除或删除“级别”坐标。所以,最终,我需要变量的形状 = (1,5,73,144)。

stdna
Out[717]: 
<xarray.DataArray 'stack-6e9b86fc65e3f0fda2008a339e235bc7' (variable: 1, week: 5, lat: 73, lon: 144, 
level: 17)>
dask.array<stack, shape=(1, 5, 73, 144, 17), dtype=float32, chunksize=(1, 1, 73, 144, 17), 
chunktype=numpy.ndarray>
Coordinates:
* lon       (lon) float32 0.0 2.5 5.0 7.5 10.0 ... 350.0 352.5 355.0 357.5
* lat       (lat) float32 90.0 87.5 85.0 82.5 80.0 ... -82.5 -85.0 -87.5 -90.0
* level     (level) float32 1000.0 925.0 850.0 700.0 ... 50.0 30.0 20.0 10.0
* week      (week) int64 5 …
Run Code Online (Sandbox Code Playgroud)

python python-xarray

15
推荐指数
2
解决办法
3万
查看次数

Pandas 将日期时间列向后移动一小时

我在 DF (df1) 中有数据,其开始和结束如下所示,我试图移动下面的“0”和“1”列,以便日期和时间后移一小时,以便日期和时间从小时 == 0 开始,而不是小时 == 1。

数据开始 (df1) -

          0    1         2         3         4    5         6       7  
0  20160101  100  7.977169  109404.0  20160101  100  4.028678   814.0   
1  20160101  200  8.420204  128546.0  20160101  200  4.673662  2152.0   
2  20160101  300  9.515370  165931.0  20160101  300  8.019863  8100.0   
Run Code Online (Sandbox Code Playgroud)

数据结束 (df1) -

             0     1         2        3         4     5         6      7  
8780  20161231  2100  4.198906  11371.0  20161231  2100  0.995571  131.0   
8781  20161231  2200  4.787433  19083.0  20161231  2200  1.029809    NaN   
8782  20161231  2300  3.987506 …
Run Code Online (Sandbox Code Playgroud)

date shift pandas

5
推荐指数
1
解决办法
3474
查看次数

如何调整 xarray 图中的 Matplotlib 颜色条范围?

我有一个看起来像这样的情节

伪彩色贴图

我无法理解如何手动更改或设置颜色条的数据值范围。我想根据图中显示的数据值尝试范围,并将颜色条更改为 (-4,4)。我看到plt.clim,vminvmax是可能使用的函数。

这是我的代码:

import cdsapi
import xarray as xr
import matplotlib.pyplot as plt
import numpy as np
import cartopy.crs as ccrs
# Also requires cfgrib library.

c = cdsapi.Client()

url = c.retrieve(
    'reanalysis-era5-single-levels-monthly-means',
    {
        'product_type': 'monthly_averaged_reanalysis',
        'format': 'grib',
        'variable': ['100m_u_component_of_wind','100m_v_component_of_wind'],
        'year': ['2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017','2018','2019','2020','2021'],
        'month': ['01','02','03','04','05','06','07','08','09','10','11','12'],
        'time': '00:00',
        'grid': [0.25, 0.25],
        'area': [70.00, -180.00, -40.00, 180.00],
    },
    "C:\\Users\\U321103\\.spyder-py3\\ERA5_MAPPING\\100m_wind_U_V.grib")
path = "C:\\Users\\U321103\\.spyder-py3\\ERA5_MAPPING\\100m_wind_U_V.grib"
ds = xr.load_dataset(path, engine='cfgrib')

wind_abs = np.sqrt(ds.u100**2 + ds.v100**2)
monthly_means = wind_abs.mean(dim='time')
wind_abs_clim = …
Run Code Online (Sandbox Code Playgroud)

python matplotlib colorbar python-xarray

3
推荐指数
1
解决办法
6566
查看次数

Pandas 根据每小时数据计算每日和每月平均值

我有一个 8784 x 13 的 DF (df2),看起来像这样,其中有一个 yyyy-mm-dd 格式的“日期”列和一个以小时为单位的“时间”列,如下所示,我需要计算每日和每月的平均值2016 年:

     DATE  TIME  BAFFIN BAY  GATUN II   GATUN I  KLONDIKE IIIG  \
8759 2016-01-01  0000    8.112838  3.949518  3.291540       7.629178   
8760 2016-01-01  0100    7.977169  4.028678  3.097562       7.477159   

  KLONDIKE II  LAGOA II  LAGOA I  PENASCAL II  PENASCAL I    SABINA  \
8759     7.095450       NaN      NaN     8.250527    8.911508  3.835205   
8760     7.362562       NaN      NaN     7.877099    7.858908  3.766714   

  SIERRA QUEMADA  
8759        3.405049  
8760        4.386598  
Run Code Online (Sandbox Code Playgroud)

我尝试将“DATE”列转换为日期时间以使用 groupby,但我不确定如何执行此操作。我已尝试以下操作,但当我在 Excel 中测试计算时,它没有按日或月平均预期对数据进行分组:

davg_df2 = df2.groupby(by=df2['DATE'].dt.date).mean() #
davg_df2m = df2.groupby(by=df2['DATE'].dt.month).mean() # 
Run Code Online (Sandbox Code Playgroud)

谢谢你,因为我仍在学习 …

average date pandas

1
推荐指数
1
解决办法
5292
查看次数

标签 统计

date ×2

pandas ×2

python ×2

python-xarray ×2

average ×1

colorbar ×1

matplotlib ×1

shift ×1