[英]Area under curve of a dataframe column
我正在嘗試計算從第一行到當前行的數據幀值的累積 AUC。
前任:
積分 | 曲線下面積 | |
---|---|---|
0 | 0 | 0 |
1 | 1 | 0.5 |
2 | 2 | 1 |
3 | 3 | 4.5 |
4 | 4 | 8 |
5 | 5 | 12.5 |
6 | 4 | 17 |
7 | 0 | 19 |
8 | -2 | 18 |
9 | -2 | 16 |
我可以使用 np.trapz() 但我必須通過 for 循環逐行計算它。
for i in df.index:
row={"AUC" : trapz(df["points"].iloc[:i])}
df["AUC"].iloc[i]=row
有沒有辦法在不使用 for 循環的情況下將其應用於整個列?
第二個問題是我的數據框每分鍾更新一次,所以我必須從 df 的開頭計算這個累積 AUC,這使得計算越來越長,或者選擇 df 的一部分(例如:df.tail(25) ) 並對其應用一個函數,通過這樣做,我將失去計算 iloc[-25] 之前曲線的 AUC。
我會嘗試這樣的事情:
np.cumsum(df.points)-np.concatenate(([0], np.cumsum(np.diff(df.points)/2)), axis=0)
這是一個工作示例: https ://abstra.show/dezL0ASX4s
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.