簡體   English   中英

如何從一維 numpy 數組創建時間序列 dataframe

[英]How to create a time series dataframe from a 1D numpy array

我有以下 numpy 數組 S(實際數組更大):

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

采樣間隔為 40 µs,我想創建以下 dataframe ,其中我有一個時間(以秒為單位)列和值列,如下所示:

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

創建您的時間向量(以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))

output

      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() 構造函數。 它干凈而清晰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM