如果没有日期时间对象,如何对数据帧*进行下采样?

2024-04-26 18:15:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下多层次数据帧(首先通过Xarray从netcdf导入,然后转换为DF)

我需要的值-insol-当前是形式的元组(year,lat,day),但我需要(大致)月平均值。然而,对于朱利安日和这种奇怪的“年”格式,没有明显的方法可以得到一个日期时间对象来进行下采样

有没有另一种方法可以仅仅每隔30天(熊猫不把它们看作“天”)对“鞋垫”值进行重采样

我尝试将“year”和“day”列连接起来以获得要重采样的日期时间对象,但没有成功

dimensions:
   lat = 46 ;
   day = 365 ;
   year = 4001 ;
   variables:
   float lat(lat) ;
    lat:long_name = "Latitude" ;
    lat:units = "degrees_north" ;
    lat:positive = "up pos" ;
   float day(day) ;
    day:long_name = "Julian Day" ;
    day:units = "Julian Day" ;
   float year(year) ;
    year:long_name = "Year" ;
    year:units = "BP (before 1950)" ;
   double dxyp(lat) ;
    dxyp:long_name = "Surface area of gridbox 10 (lon) X     46 (lat)" ;
    dxyp:units = "m^2" ;
       float insol(year, lat, day) ;
    insol:long_name = "Insolation" ;
    insol:units = "W/m2" ;

Here is the data frame: 
                          dxyp       insol
day lat   year                            
1.0 -90.0 -50.0   5.945385e+10  550.477600
           50.0   5.945385e+10  550.716431
           150.0  5.945385e+10  550.934998
           250.0  5.945385e+10  551.133179
           350.0  5.945385e+10  551.310852

Tags: 数据对象方法name时间floatyearlong