精华内容
下载资源
问答
  • 光谱数据重采样

    2018-10-11 10:21:11
    matlab代码,用于高光谱、多光谱数据重采样,内容清晰
  • Python数据分析:时间数据重采样

    千次阅读 2019-04-30 20:32:57
    Python数据分析:时间数据重采样 重采样: 将时间序列从一个频率转换到另一个频率得的过程,需要聚合 高频率转换为低频率,downsampling,相反的过程为upsampling pandas中的resample方法实现重采样 产生...

    Python数据分析:时间数据重采样

    重采样:
    • 将时间序列从一个频率转换到另一个频率得的过程,需要聚合

    • 高频率转换为低频率,downsampling,相反的过程为upsampling

    • pandas中的resample方法实现重采样

      • 产生resample对象

        import pandas as pd
        import numpy as np
        
        date_rng = pd.date_range('20190101', periods=60, freq='D')
        ser_obj = pd.Series(range(len(date_rng)), index=date_rng)
        print(ser_obj.head(10))
        

        运行:
        在这里插入图片描述

      • resample(freq).sum(), resample(freq).mean(),……

        # 统计每个月的数据总和
        resample_month_sum = ser_obj.resample('M').sum()
        # 统计每个月的数据平均
        resample_month_mean = ser_obj.resample('M').mean()
        
        print('按月求和:', resample_month_sum)
        print('按月求均值:', resample_month_mean)
        

        运行:
        在这里插入图片描述

    降采样(downsampling):
    • 将数据聚合到规整的低频率

      # 将数据聚合到5天的频率
      five_day_sum_sample = ser_obj.resample('5D').sum()
      
      print('降采样,sum')
      print(five_day_sum_sample)
      

      运行:
      在这里插入图片描述

    • OHLC重采样,open, high, low, close

      five_day_ohlc_sample = ser_obj.resample('5D').ohlc()
      
      print('降采样,ohlc')
      print(five_day_ohlc_sample)
      

      运行:
      在这里插入图片描述

    • 使用groupby降采样

      # 使用groupby降采样
      print(ser_obj.groupby(lambda x: x.month).sum())
      

      运行:
      在这里插入图片描述

    升采样:
    df = pd.DataFrame(np.random.randn(5, 3),
                     index=pd.date_range('20190301', periods=5, freq='W-MON'),
                     columns=['S1', 'S2', 'S3'])
    print(df)
    

    运行:
    在这里插入图片描述

    • 将数据从低频率转换到高频率,需要插值,否则为NaN

      # 直接重采样会产生空值
      print(df.resample('D').asfreq())
      

      运行:
      在这里插入图片描述

    • 常用插值方法:

      1. ffill(limit), 空值区前面的值填充,limit为填充个数

        #ffill
        print(df.resample('D').ffill(2))
        

        运行:
        在这里插入图片描述

      2. bfill(limit), 空值取后面的值填充

        print(df.resample('D').bfill())
        

        运行:
        在这里插入图片描述

      3. fillna(‘ffill’) 或 fillna(‘bfill’)

        print(df.resample('D').fillna('ffill'))
        

        运行:
        在这里插入图片描述

      4. interpolate, 根据插值算法补全数据

        print(df.resample('D').interpolate('linear'))
        

        运行:
        在这里插入图片描述

    展开全文
  • Pandas数据重采样

    2019-09-27 17:17:43
    数据重采样 时间数据由一个频率转换到另一个频率 降采样 升采样 import pandas as pd import numpy as np #先生成一份时间序列数据 rng = pd.date_range('1/1/2019', periods=90, freq='D') ts = pd.Series(np....

    数据重采样

    • 时间数据由一个频率转换到另一个频率
    • 降采样
    • 升采样
    import pandas as pd
    import numpy as np
    #先生成一份时间序列数据
    rng = pd.date_range('1/1/2019', periods=90, freq='D')
    ts = pd.Series(np.random.randn(len(rng)), index=rng)
    ts.head()
    

    在这里插入图片描述

    #按月降采样,
    ts.resample('M').sum()
    

    在这里插入图片描述

    #按三天求和降采样,
    ts.resample('3D').sum()
    

    在这里插入图片描述

    #降采样平均值
    day3Ts = ts.resample('3D').mean()
    day3Ts
    

    在这里插入图片描述

    #升采样
    day3Ts.resample('D').asfreq()
    

    在这里插入图片描述

    升采样面临着缺失值得问题,需要插值

    插值方法:

    • ffill 空值取前面的值
    • bfill 空值取后面的值
    • interpolate 线性取值
    day3Ts.resample('D').ffill(1)
    

    在这里插入图片描述

    day3Ts.resample('D').bfill(1)
    

    在这里插入图片描述

    day3Ts.resample('D').interpolate('linear')
    

    在这里插入图片描述

    展开全文
  • ArcGIS中栅格数据重采样三种方法详细介绍,包括图片 ,还有在ArcGIS中如何进行栅格数据重采样的过程(有图表示详细的过程)
  • ArcGIS中栅格数据重采样的方法图解

    千次阅读 2020-01-07 19:40:49
    ArcGIS中栅格数据重采样方法介绍 求取目标点(红色)处的插值结果,需要计算离其最近的1个,4个,16个点(黄色)的值进行加权平均 最邻近法: 双线性插值法: 三次卷积插值法: ...

    ArcGIS中栅格数据重采样方法介绍
    求取目标点(红色)处的插值结果,需要计算离其最近的1个,4个,16个点(黄色)的值进行加权平均

    最邻近法:
    在这里插入图片描述
    双线性插值法:
    在这里插入图片描述
    三次卷积插值法:
    在这里插入图片描述

    展开全文
  • 一种混合CPU和GPU的图像金字塔数据重采样评估模型.pdf
  • 根据卫星星下点坐标,计算成像区域每个像元坐标,然后根据坐标数据在原始影像上进行重采样,生成卫星成像数据
  • 数据重采样 时间数据由一个频率转换到另一个频率 降采样 升采样 rng = pd.date_range('2019-03-29', periods=30, freq='D') ts = pd.Series(np.random.randn(len(rng)), index=rng) print(ts.head()) ...
    import numpy as np
    import pandas as pd
    

    数据重采样

    • 时间数据由一个频率转换到另一个频率
    • 降采样
    • 升采样
    rng = pd.date_range('2019-03-29', periods=30, freq='D')
    ts = pd.Series(np.random.randn(len(rng)), index=rng)
    print(ts.head())
    
    2019-03-29    0.752499
    2019-03-30    0.568424
    2019-03-31    0.960766
    2019-04-01    0.646402
    2019-04-02   -1.343210
    Freq: D, dtype: float64
    
    ts.resample('3D').sum()
    
    2019-03-29    2.281689
    2019-04-01   -0.134376
    2019-04-04   -1.988064
    2019-04-07   -1.710176
    2019-04-10    3.321513
    2019-04-13   -0.980541
    2019-04-16   -0.877009
    2019-04-19   -1.535649
    2019-04-22   -1.511353
    2019-04-25   -0.418378
    dtype: float64
    
    ts.resample('M').sum()
    
    2019-03-31    2.281689
    2019-04-30   -5.834033
    Freq: M, dtype: float64
    
    days3ts = ts.resample('3D').mean()
    days3ts
    
    2019-03-29    0.760563
    2019-04-01   -0.044792
    2019-04-04   -0.662688
    2019-04-07   -0.570059
    2019-04-10    1.107171
    2019-04-13   -0.326847
    2019-04-16   -0.292336
    2019-04-19   -0.511883
    2019-04-22   -0.503784
    2019-04-25   -0.139459
    dtype: float64
    
    print(days3ts.resample('D').asfreq())
    
    2019-03-29    0.760563
    2019-03-30         NaN
    2019-03-31         NaN
    2019-04-01   -0.044792
    2019-04-02         NaN
    2019-04-03         NaN
    2019-04-04   -0.662688
    2019-04-05         NaN
    2019-04-06         NaN
    2019-04-07   -0.570059
    2019-04-08         NaN
    2019-04-09         NaN
    2019-04-10    1.107171
    2019-04-11         NaN
    2019-04-12         NaN
    2019-04-13   -0.326847
    2019-04-14         NaN
    2019-04-15         NaN
    2019-04-16   -0.292336
    2019-04-17         NaN
    2019-04-18         NaN
    2019-04-19   -0.511883
    2019-04-20         NaN
    2019-04-21         NaN
    2019-04-22   -0.503784
    2019-04-23         NaN
    2019-04-24         NaN
    2019-04-25   -0.139459
    Freq: D, dtype: float64
    

    插值方法:

    • ffill 空值取前面的值
    • bfill 空值取后面的值
    • interpolate 线性取值
    days3ts.resample('D').ffill(1) #数字表示填充缺失值的个数
    
    2019-03-29    0.760563
    2019-03-30    0.760563
    2019-03-31         NaN
    2019-04-01   -0.044792
    2019-04-02   -0.044792
    2019-04-03         NaN
    2019-04-04   -0.662688
    2019-04-05   -0.662688
    2019-04-06         NaN
    2019-04-07   -0.570059
    2019-04-08   -0.570059
    2019-04-09         NaN
    2019-04-10    1.107171
    2019-04-11    1.107171
    2019-04-12         NaN
    2019-04-13   -0.326847
    2019-04-14   -0.326847
    2019-04-15         NaN
    2019-04-16   -0.292336
    2019-04-17   -0.292336
    2019-04-18         NaN
    2019-04-19   -0.511883
    2019-04-20   -0.511883
    2019-04-21         NaN
    2019-04-22   -0.503784
    2019-04-23   -0.503784
    2019-04-24         NaN
    2019-04-25   -0.139459
    Freq: D, dtype: float64
    
    days3ts.resample('D').interpolate()
    
    2019-03-29    0.760563
    2019-03-30    0.492111
    2019-03-31    0.223660
    2019-04-01   -0.044792
    2019-04-02   -0.250757
    2019-04-03   -0.456723
    2019-04-04   -0.662688
    2019-04-05   -0.631812
    2019-04-06   -0.600935
    2019-04-07   -0.570059
    2019-04-08   -0.010982
    2019-04-09    0.548094
    2019-04-10    1.107171
    2019-04-11    0.629165
    2019-04-12    0.151159
    2019-04-13   -0.326847
    2019-04-14   -0.315343
    2019-04-15   -0.303840
    2019-04-16   -0.292336
    2019-04-17   -0.365519
    2019-04-18   -0.438701
    2019-04-19   -0.511883
    2019-04-20   -0.509183
    2019-04-21   -0.506484
    2019-04-22   -0.503784
    2019-04-23   -0.382343
    2019-04-24   -0.260901
    2019-04-25   -0.139459
    Freq: D, dtype: float64
    

    滑动窗口(实用)

    df = pd.Series(
        np.random.randn(200),
        index=pd.date_range('2019-3-29', periods=200, freq='D'))
    print(df.head())
    
    2019-03-29   -0.318180
    2019-03-30    0.720536
    2019-03-31   -0.861129
    2019-04-01   -0.239880
    2019-04-02    1.003837
    Freq: D, dtype: float64
    
    r = df.rolling(window=10)
    r
    
    Rolling [window=10,center=False,axis=0]
    
    #r.max, r.median, r.std, r.skew, r.sum, r.var
    print(r.mean())
    
    2019-03-29         NaN
    2019-03-30         NaN
    2019-03-31         NaN
    2019-04-01         NaN
    2019-04-02         NaN
    2019-04-03         NaN
    2019-04-04         NaN
    2019-04-05         NaN
    2019-04-06         NaN
    2019-04-07    0.014705
    2019-04-08    0.248308
    2019-04-09    0.343200
    2019-04-10    0.457588
    2019-04-11    0.506723
    2019-04-12    0.300540
    2019-04-13    0.400271
    2019-04-14    0.408851
    2019-04-15    0.332448
    2019-04-16    0.049914
    2019-04-17    0.232145
    2019-04-18    0.067545
    2019-04-19   -0.095322
    2019-04-20   -0.014605
    2019-04-21    0.016297
    2019-04-22    0.084544
    2019-04-23    0.155432
    2019-04-24    0.054461
    2019-04-25    0.036726
    2019-04-26    0.090883
    2019-04-27    0.080384
                    ...   
    2019-09-15    0.058189
    2019-09-16    0.383197
    2019-09-17    0.466217
    2019-09-18    0.304177
    2019-09-19    0.519821
    2019-09-20    0.618409
    2019-09-21    0.522707
    2019-09-22    0.439012
    2019-09-23    0.433027
    2019-09-24    0.313526
    2019-09-25    0.297050
    2019-09-26    0.240665
    2019-09-27    0.168569
    2019-09-28    0.241036
    2019-09-29    0.006351
    2019-09-30   -0.150190
    2019-10-01   -0.143898
    2019-10-02   -0.023343
    2019-10-03   -0.011604
    2019-10-04   -0.254993
    2019-10-05    0.058492
    2019-10-06   -0.130227
    2019-10-07   -0.054155
    2019-10-08   -0.011214
    2019-10-09    0.197047
    2019-10-10    0.105364
    2019-10-11    0.045009
    2019-10-12    0.011351
    2019-10-13   -0.148366
    2019-10-14   -0.071507
    Freq: D, Length: 200, dtype: float64
    
    import matplotlib.pyplot as plt
    
    plt.figure(figsize=(15,5))
    df.plot(style='r--')
    df.rolling(window=10).mean().plot(style='b')
    
    <matplotlib.axes._subplots.AxesSubplot at 0x10a838d0>
    

    在这里插入图片描述

    
    
    展开全文
  • 时间序列(二)数据重采样

    千次阅读 2017-12-11 15:35:43
    数据重采样 时间数据由一个频率转换到另一个频率 降采样 升采样生成一条带随机值的时间序列rng = pd.date_range('1/1/2011', periods=90, freq='D') ts = pd.Series(np.random.randn(len(rng)), index=rng) print...
  • % INTERP 用低通插值按更高的采样率对数据重采样 % A. Y = INTERP(X,R) 对矢量X 序列比原采样率高 R 倍重采样.
  • 数据重采样 重采样分为上(升)采样和下采样,下(降)采样时需要对信号进行抽取,上采样时需要对信号进行插值 时间数据由一个频率转换到另一个频率 降采样 升采样 import pandas as pd import numpy as np rng =...
  • 1. 时间序列数据重采样概念 将时间序列从一个频率转换为另一个频率的过程,且会有数据的结合的过程;之前涉及到频率的转换只是单纯的改变频率,而并没有改变时间标签所对应的数值信息,比如在获得每天的销售信息时候...
  • 栅格数据重采样-python

    2020-06-10 15:06:34
    1.https://www.freesion.com/article/1429728102/重采样 2.https://blog.csdn.net/GISuuser/article/details/106304155重采样2 3....
  • MATLAB中数据重采样

    2009-05-10 10:29:11
    电力系统分析中间用MATLAB分析故障数据时,可能给定数据采样频率与处理频率不符,这时的处理方式
  • FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了...
  • ArcGIS教程:ArcGIS中栅格数据重采样方法

    万次阅读 多人点赞 2014-11-13 14:53:21
    由于数据像元大小不符合要求,或者在进行栅格数据配准后,像元发生倾斜,或者对多个栅格数据进行分析时,需要使用相同的栅格分辨率,重采样到同一分辨率下,因此对栅格数据操作时经常要进行重采样操作。如下图所示,...
  • pandas - 股票K线数据重采样

    千次阅读 2019-03-13 15:14:05
    1 股票K线图 K线图这种图表源处于日本德川幕府时代,被当时日本米市的商人用来记录米市的行情与价格波动,后因其细腻独到的标画方式而被引入到...很多网站提供了日线、周K线、月K线等周期数据,但是最原始的只有日K...
  • 本小节介绍基于移动最小二乘法(MLS)的法线估计、点云平滑和数据重采样。有时,测量较小的对象时会产生一些误差,这些误差所造成的不规则数据如果直接拿来曲面重建的话会使重建的曲面不光滑或者有漏洞。这些不规则...
  • 重采样(resample) 将时间序列从一个频率转换到另一个频率的过程,需要使用聚合显示 pandas中的resample方法实现重采样 产生Resample对象 高频 -> 低频率 resample(freq).sum(),resample(freq).mean()......

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,670
精华内容 21,068
关键字:

数据重采样