我有一個(用戶定義的)對象列表,稱爲「儀器測量」。這些標題可通過Instrument_Measurement.name
訪問,也可通過Instrument_Measurement.data
(這兩種用戶定義的方法)訪問一系列數據。從未知數量的系列熊貓創建數據幀
這些「儀器測量」對象是名爲list_instr_objects
的列表中的項目。項目數量(「儀器測量」)更改/不能進行硬編碼。
我需要爲每個「儀器測量」創建一個帶有列標題Instrument_Measurement.name
的數據框,併爲那個「儀器測量」創建一個Instrument_Measurement.data
該列的數據。
我試圖通過創建這些對象的字典,然後轉換,爲一個數據幀要做到這一點:
from collections import defaultdict
testdict = defaultdict(list)
for i in range(len(list_instr_objects)):
testdict[list_instr_objects[i].name].append(list_instr_objects[i].data)
這不工作,雖然,只爲每個儀器的第一數據輸入保持並以看似隨機的順序出現。我認爲這是因爲我將一個系列傳遞給字典,我應該通過一個列表,但我不知道如何去做/如何解決這個問題。
有什麼想法?
非常感謝提前。
列肯定會以任意順序(因爲字典沒有命令):這是一個問題嗎?另一個問題是你不想將它追加到列表中,你只需要將它設置爲'testdict [list_instr_objects [i] .name] = list_instr_objects [i] .data'(並且它不必是一個defaultdict,只是一個字典) –
不幸的是,在使用一個字典而不是附加到列表後,我仍然得到只有第一個元素的相同問題。不幸的是,我確實需要保存命令,所以我會查看一個基於非字典的方法。非常感謝。 – vbastrangledpython