2012-10-25 34 views
2

因此,我必須從具有14個屬性(列)的大型數據文件中獲取信息。使用這些信息,我能夠獲取數據並將其組合成浮動列表。我必須對其進行分析,並且需要對這些值進行歸一化(值 - 最小值)/(最大值 - 最小值)。然後我把原始值列表放到一個帶有標準化值的字典中,以使它們仍然相關。Python - 在字典中相互減去2個列表

我需要現在採取這個詞典的2個不同的鍵,它們對應於2個不同的歸一化值列表,然後將它們相互減去以便進一步分析。

樣品我的字典信息:

(3.0, 13.73, 4.36, 2.26, 22.5, 88.0, 1.28, 0.47, 0.52, 1.15, 6.62, 0.78, 1.75, 520.0): 
    [0.7105263157894738, 0.7154150197628459, 0.4812834224598929, 0.6134020618556701, 0.1956521739130435, 0.10344827586206898, 0.02742616033755273, 0.7358490566037735, 0.2334384858044164, 0.4556313993174061, 0.2439024390243903, 0.1758241758241758, 0.17261055634807418] 

有任何幫助表示讚賞超過100個類似的條目

使用Python3和數學 除了沒有圖書館,但如果你覺得還有一個更簡單的方法請這樣做,讓我知道。

編輯:我不能使用任何導入庫

生病加入我的一些代碼,但我不得不剪斷的一大截了,因爲它太大了在這個崗位包括。

 for line in temp_file: 
     line = line.strip()           #remove white space 
     line_list = line.split(",")         #split the list into components seperated by commas 
     temp_list2 = [] 
     for item in line_list[0:]:         
       value_float = float(item)        #make values currently of type string into type float 
       temp_list2.append(value_float) 
     tuple_list = tuple(temp_list2)        #make each item into a seperate tuple and then list 
     data_list.append(tuple_list)        #these tuples in a master list data_list 
    prop_elts = [(x[1:]) for x in data_list] 

------ --------剪斷(這裏只是其中i定義的每個列,然後計算出的歸一化值)

i = 0 
    while i < len(data_list): 
     all_props_templist = [prop1_list[i],prop2_list[i],prop3_list[i],prop4_list[i],prop5_list[i],prop6_list[i],prop7_list[i],prop8_list[i],prop9_list[i],prop10_list[i],prop11_list[i],prop12_list[i],prop13_list[i]] 
     all_properties.append(all_props_templist) 
     i = i + 1 
    my_data_Dictionary = {el1: el2 for el1, el2 in zip(data_list,all_properties)} 
+3

'進口numpy'是更簡單的方法。 http://numpy.scipy.org –

+0

我們需要查看代碼才能完全瞭解您的情況! – vdbuilder

+1

這不是一個Python字典? –

回答

2

如果data是你的快譯通,

[a-b for a, b in zip(data[key1], data[key2])] 

是其元素是在data[key1]data[key2]相應元素之間的diffference列表。


PS。當你看到編號的變量名:

all_props_templist = [prop1_list[i],prop2_list[i],prop3_list[i],prop4_list[i],prop5_list[i],prop6_list[i],prop7_list[i],prop8_list[i],prop9_list[i],prop10_list[i],prop11_list[i],prop12_list[i],prop13_list[i]] 

知道的情況是替代一些迫切需要一個列表與索引:

all_props_templist = [prop_list[j][i] for j in range(13)] 
+0

真的很有用謝謝!在回答我的問題方面,這工作正常。:) 如果您有任何其他建議,我向他們開放。 – user1774501