【问题标题】:How to create a time series dataframe from a 1D numpy array如何从一维 numpy 数组创建时间序列数据框
【发布时间】:2021-06-12 15:49:35
【问题描述】:

我有以下 numpy 数组 S(实际数组更大):

 S = np.array([200,210,230, 250, 270, 290, 300, 350,400])

采样间隔为 40 µs,我想创建以下数据框,其中我有一个时间(以秒为单位)列和值列,如下所示:

 time    value
 0        200
 0.00004  210
 0.00008  230
 0.00012  250
 0.00016  270
 0.00020  290
 0.00024  300
    .
    .
    .
 

【问题讨论】:

    标签: python pandas dataframe numpy time-series


    【解决方案1】:

    创建你的时间向量(例如numpy.arange),然后将它用作你的pandas DataFrame的时间列。

    import pandas as pd
    import numpy as np
    
    S = np.array([200,210,230, 250, 270, 290, 300, 350,400])
    
    dt = 0.00004
    
    d = {
        'time' : np.arange(0, len(S)*dt, dt),
        'value' : S
    }
    
    print(pd.DataFrame(d))
    

    输出

          time  value
    0  0.00000    200
    1  0.00004    210
    2  0.00008    230
    3  0.00012    250
    4  0.00016    270
    5  0.00020    290
    6  0.00024    300
    7  0.00028    350
    8  0.00032    400
    

    就个人而言,我真的很喜欢使用以字典为参数的 Dataframe() 构造函数。干净整洁。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-09
      • 2023-01-04
      • 2022-07-09
      • 2021-06-29
      • 2020-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多