【发布时间】:2015-01-10 23:47:42
【问题描述】:
我将一个 csv 作为更大列表中的列表加载到行中 - 其中大约 500,000 个。行/子列表中的一项是分数。该分数是一个介于 0 - 1 之间的浮点数。这些分数恰好以非常不均匀的方式分散,我想标准化它们的分布。我不需要任何像钟形曲线这样棘手的东西,只需要一个从 1 到 0 的排名,步长均匀,并以任何方式分层(无论数量多少)。我也喜欢按分数降序排列的结果。
作为起点的示例列表:
list1 = [
['item1', 0.955, 'asdcwe', 'adcwett'],
['item2', 0.111, 'awioe', 'ocijwe'],
['item3', 0.111, 'dcuwq0eu', 'a9dfuwe'],
['item4', 0.5, 'aosdic', '204523'],
['item5', 1.0, 'oooo', 'ffff'],
['item6', 0.112, '03423', 'aewcew']]
示例结果:
sortedlist = [
['item5', 1.0, 'oooo', 'ffff'],
['item1', 0.8, 'asdcwe', 'adcwett'],
['item4', 0.6, 'aosdic', '204523'],
['item6', 0.4, '03423', 'aewcew'],
['item2', 0.2, 'awioe', 'ocijwe'],
['item3', 0.0, 'dcuwq0eu', 'a9dfuwe']]
(对我来说无关紧要的细节:最小值/最大值可以是包含或不包含的,因此在这种情况下,分数可能会导致 0.143 - 0.857。此外,如果 item2 和 item3 并列,则最终翻转结果,也没关系。)
【问题讨论】:
标签: python python-2.7 csv mapping