所以我必须从包含14个属性(列)的大型数据文件中获取信息。使用此信息,我能够获取数据并将其合并到浮动列表中。我必须分析它并且需要规范化值(值 - 最小值)/(maxvalue - minvalue)。然后我将原始值列表放入一个字典中,其中包含标准化值,它们仍然相关。
我现在需要使用这个字典的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]
------ snip --------(这里我定义了每一列,然后计算了规范化的值)
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 )}
答案 0 :(得分:2)
如果data
是您的词典,
[a-b for a, b in zip(data[key1], data[key2])]
是一个列表,其元素是data[key1]
和data[key2]
中相应元素之间的差异。
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)]