假設我有幾個字典(每小時一個),它們都有相同的鍵:
h1={'a':1, 'b':3, 'c':10}
h2={'a':7, 'b':15, 'c':2}
h3={'a':9, 'b':15, 'c':35}
如何獲得所有小時和鍵的下幾個小時之間的絕對值之和,這意味著形式的總和:
|1-7| |7-9| |3-15| |15-15| |10-2| |2-35|
更一般地說,它是以下形式:

其中 beta 為 1,psts 是我們字典的鍵,我們也按小時求和。
uj5u.com熱心網友回復:
使用 numpy,您可以制作一個陣列,計算絕對差 ( numpy.diff abs),然后sum:
h1={'a':1, 'b':3, 'c':10}
h2={'a':7, 'b':15, 'c':2}
h3={'a':9, 'b':15, 'c':35}
import numpy as np
dicts = [h1, h2, h3]
a = np.array([list(d.values()) for d in dicts])
abs(np.diff(a, axis=0)).sum()
輸出: 61
使用測驗版:
beta = 1
abs(np.diff(a, axis=0)*beta).sum()
uj5u.com熱心網友回復:
pandas可能比這個更好用numpy。
很確定它只是
beta = 1
pd.DataFrame([h1, h2, h3]).diff().dropna().abs().mul(beta).sum().sum()
Out: 61.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/410475.html
標籤:
