我有多個時間序列,它們是各種算法的輸出。這些算法可以有不同的參數和它們所產生的時間序列的結果:從包含多個鍵的字典列表創建熊貓時間序列號
timestamp1=1;
value1=5;
timestamp2=2;
value2=8;
timestamp3=3;
value3=4;
timestamp4=4;
value4=12;
resultsOfAlgorithms=[
{
'algorithm':'minmax',
'param-a':'12',
'param-b':'200',
'result-of-algorithm':[[timestamp1,value1],[timestamp2,value2]]
},
{
'algorithm':'minmax',
'param-a':'12',
'param-b':'30',
'result-of-algorithm':[[timestamp1,value1],[timestamp3,value3]]
},
{
'algorithm':'minmax',
'param-a':'12',
'param-b':'30',
'result-of-algorithm':[[timestamp2,value2],[timestamp4,value4]]
},
{
'algorithm':'delta',
'param-a':'12',
'param-b':'50',
'result-of-algorithm':[[timestamp2,value2],[timestamp4,value4]]
}
]
我希望能夠通過算法和參數和情節過濾時間序列篩選時間序列看給定參數是如何影響輸出。要做到這一點,我需要知道給定參數的所有出現值,然後才能夠選擇具有所需參數的時間序列。例如。我想用param-b == 30來繪製minmax算法的所有結果。有2個結果是用minmax算法和param-b == 30生成的。因此我想要有一個有2個時間序列的情節。
這可能是熊貓還是熊貓的功能?這怎麼可能實現?
編輯: 搜索更多的互聯網我認爲我正在尋找一種使用分層索引的方法。時間序列也應該保持分開。每個結果都是一個單獨的時間序列。它不應該與其他結果合併在一起。我需要通過使用的參數來過濾算法的結果。過濾器的結果應該仍然是時間序列列表。
編輯2: 有多個子問題:
找到每個參數的所有現有值(用戶不知道所有的值,因爲參數可以自動生成由系統)
用戶選擇一些值的用於過濾這可以通過用戶提供 一種方式是一個字典(但更用戶友好的想法,歡迎):
濾波器= { 'PARAM-B':[30,50], '算法': '極大極小' }從resultsOfAlgorithms
時間序列[1:2](第二和第三結果)給定爲濾波的結果,因爲這些結果是通過極大極小算法和param-b產生的爲30。因此,在這種情況下
[ [[timestamp1,值1],[timestamp3,值3], [[timestamp1,值1],[timestamp3,值3]] ]
過濾的結果將返回多個時間序列,我想繪製和比較。
用戶想嘗試不同的過濾器,看看它們是如何影響結果
我做的這一切Jupyter筆記本。我希望允許用戶嘗試各種過濾器,儘可能減少麻煩。
結果中的時間戳不共享。結果之間的時間戳不一定是共享的。例如。所有時間序列可能發生在下午1點到下午3點之間,並且具有完全相同的值,但時間戳或值的數量不相同。
是否要單獨存放時間序列(在列表中,或者只是因爲它們是這裏,在'resultsOfAlgorithms')?或者將它們保留爲數據框中的列不是更好嗎?如果有一些自然的,普通的時間戳空間,那麼後者更方便。這些列將被分級索引,並且對所選系列進行迭代可能會更容易。 – ptrj
在按照算法和參數過濾的情況下,「時間序列應該保持分離」是什麼意思?也許上面的數據應該如何看最終結果的例子會有所幫助。 – Jeff
「resultsOfAlgorithms」中的第二項和第三項具有相同的參數,但「算法結果」不同,因此時間序列不是由它們的參數唯一確定的。這是對的嗎?至於共享時間戳空間,我認爲如果系列的時間戳重疊,則所有時間戳的聯合可能是明智的。 (時間序列將包含NaN的缺失)。 – ptrj