我正在使用Python 2.7。標題提供了上下文。我用這種特定的方式說出了標題,以便將來人們可以查詢這個堆棧交換問題。有使用MATLAB這個東西的文檔過多,但這個過程是嚴重缺乏用於SciPy的,NumPy的,熊貓,matplotlib等使用熊貓爲寬帶,噪聲信號創建上部信封
從本質上講,我有以下數據框:
time amplitude
0 1.0 0.1
1 2.0 -0.3
2 3.0 1.4
3 4.0 4.2
4 5.0 -5.7
5 6.0 2.3
6 7.0 -0.2
7 8.0 -0.3
8 9.0 1.0
9 10.0 0.1
現在什麼我想要做的是以下內容:
-
在5秒的時間間隔
- ,尋找最大和最小值
- 記錄最大和最小值與相應的時間值(即,對於上述的情況下,在第一5塞科NDS,最大爲4.2,在4秒,並且在-5.7 5秒)
追加值在適當的地方變成即
time amplitude upper lower 0 1.0 0.1 1 2.0 -0.3 2 3.0 1.4 3 4.0 4.2 4.2 4 5.0 -5.7 -5.7 5 6.0 2.3 2.3 6 7.0 -0.8 -0.8 7 8.0 -0.3 8 9.0 1.0 9 10.0 0.1
最大值和最小值之間進行內插的數據幀沖洗掉數據幀
情節幅度柱,上柱和下柱
我與Python /熊貓足夠的熟悉和想象中的代碼看索姆如下所示:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import scipy as scipy
time = [0,1,2,3,4,5,6,7,8,9]
amplitude = [0.1,-0.3,1.4,4.2,-5.7,2.3,-0.2,-0.3,1.0,0.1]
df = pd.DataFrame({'time': time, 'amplitude': amplitude}]
plt.plot(df['time'],df['amplitude])
for seconds in time:
if <interval == 5>:
max = []
time_max = []
min = []
time_min = []
max.append(df.max['amplitude'])
min.append(df.min['amplitude'])
time_max.append(<time value in interval>)
time_min.append(<time value in interval>)
<build another dataframe>
<concat to existing dataframe df>
<interpolate between values in column 'upper'>
<interpolate between values in column 'lower'>
任何幫助表示讚賞。
謝謝。
〜德文
的'第6行amplitude'值是在你的例子的數據的第一和第二顯示不同('-0.2' VS'-0.8')。這是什麼? –
需要什麼樣的插值協議? –
的具體細節非常無關緊要。我回答了我自己的問題btw –