我有一些原始數據,其中包含一系列(大約1e7)個事件,每個事件包含一些元數據(錄製時間,頻道號等)和實際的時間系列。通過處理數據,我計算了每個事件的一組(約20個)單值特徵。所以我結束了單值以下數據結構和一個數組:如何存儲一系列時間序列數據,包括元數據
1: eventID, ToR, channel, feat1, feat2,..., signal(shape=30000,)
2: eventID, ToR, channel, feat1, feat2,..., signal
3: .
.
現在什麼是組織在Python這個數據的最佳方式,如果我想:
- 訪問和劇情信號,通過所有的事件,其事件ID
- 切片索引(或它的一部分)和情節FEAT1與FEAT2
- 訪問數據列其名稱
- 可能通過提供兩個訪問EVENTID它的特點
- 可能刪除單個事件
雖然在Python字典存儲數據肯定是可能的,我覺得有一種更快的方式。熊貓數據幀似乎對我來說不可能,因爲數據的長度並不相同。
通過將士object
它可以存儲陣列中陣列等[1, 2, 3, [4,5,6]]
類型的numpy的陣列,但我失去它的名字,這將是至少不優選訪問數據的能力。
我可能對這種結構沒有正確的感覺,所以對此有什麼合適的方法?
你有沒有想過一個namedtuples列表,然後列出解析? namedtuples在這裏似乎很好,因爲您似乎不需要能夠更改數據,但需要以各種不同的方式訪問它。 namedtuples比字典更輕量級。 –
你能通過一長串元組有效地切片嗎?我認爲這可能是一個問題。 – Abufari
有了列表解析我期望是,但它當然取決於您的條件。如果這是一個昂貴的操作,那麼沒有。 :-) –