私のデータセットから適切な出力を得ることに問題があります。このデータセットに対して適切な出力を得るにはどうすればよいですか?
私はティッカー名、重量、スコアを含むデータセットを持っており、与えられたティッカーシンボルのスコア= MAX(スコア)のTIK、Weight、Scoreのユニークなリストを取得したいと考えています。
データセットの例は、データセット内の各ティッカーため.....
[(u'COOL ', 25, 452.50000000000006), (u'MIND', 25, 221), (u'SIMO', 25, 209), (u'RAVN', 25, 131.75), (u'AET', 25, 99), (u'SBUX', 25, 83.5), (u'ATVI', 25, 47.75), (u'CACI', 25, 45.5), (u'DISH ', 25, 17.25), (u'COOL ', 15, 271.5), (u'MIND', 15, 132.6), (u'SIMO', 15, 125.39999999999999), (u'RAVN', 15, 79.05), (u'AET', 15, 59.4), (u'SBUX', 15, 50.099999999999994), (u'ATVI', 15, 28.65), (u'CACI', 15, 27.3), (u'DISH ', 15, 10.35), (u'COOL ', 10, 181), (u'MIND', 10, 88.4), (u'SIMO', 10, 83.6), (u'RAVN', 10, 52.699999999999996), (u'AET', 10, 39.6), (u'SBUX', 10, 33.4), (u'ATVI', 10, 19.099999999999998), (u'CACI', 10, 18.2), (u'DISH ', 10, 6.8999999999999995), (u'COOL ', 5, 90.5), (u'MIND', 5, 44.2), (u'SIMO', 5, 41.8), (u'RAVN', 5, 26.349999999999998), (u'AET', 5, 19.8), (u'SBUX', 5, 16.7), (u'ATVI', 5, 9.549999999999999), (u'CACI', 5, 9.1), (u'DISH ', 5, 3.4499999999999997)]
あろう。
そして、私は達成するために探していた結果は次のとおりです。
COOL 25 452.50
MIND 15 132.6
SIMO 10 83.6
元。 AAPLは25の体重を有し、TITNは20の体重を有し、ANFは15の体重を有し、合計(体重)= 100になるまで15の体重を有する。
各ティッカーは、所定の重量。したがって、AAPLが体重25で最も高いスコアを有する場合、他の体重では再び使用することはできません。
これは、私が皆さんにいくつかの指針を提供するのに十分なものであることをうまく説明してくれたのは難しいことでした。
あなたの入力と同じリスト形式で結果def get_element(lst, key):
for obj in lst:
if key(obj):
return obj
return None
def generate_list(data_set):
result = []
for obj in data_set:
temp = get_element(result, lambda k: k[0] == obj[0])
if temp is None:
result.append(obj)
elif obj[1] > temp[1]:
ind = result.index(temp)
result[ind] = obj
return result
を次のように追加明確にするため、いくつかの実際のサンプルデータは
あなたの出力は正しいですか? '300 'は' TITN'テロップの間で最も高いスコアではないから – juliomalegria
新しいコードで私の編集を見る – joaquin