2017-03-21 4 views
-4

Ich habe ein Array von Arrays mit jeweils 5 Werten. Ich möchte den letzten Wert von jedem Array im gesamten Array in ein eigenes Array aufteilen, aber ich kann den besten Weg nicht herausfinden.Wie teilt man den endgültigen Wert in Arrays in ein eigenes Array auf?

FeatureVectors = [[4, 0.001743713493735165, 0.6497055601752815, 90.795723552739275, 2], [4, 0.0460937435599832, 0.19764217920409227, 90.204147248752378, 2], [1, 0.001185534503063044, 0.3034913722821194, 60.348908179729023, 2], [1, 0.015455289770298222, 0.8380914254332884, 109.02120657826231, 2], [3, 0.0169961646358455, 41.36919146079211, 136.83829993466398, 2]] 

In diesem Fall sind die letzten Werte in den Arrays alle 2, aber das ist nicht immer der Fall.

Ich möchte dies erhalten:

FeatureVectors = [[4, 0.001743713493735165, 0.6497055601752815, 90.795723552739275], [4, 0.0460937435599832, 0.19764217920409227, 90.204147248752378], [1, 0.001185534503063044, 0.3034913722821194, 60.348908179729023], [1, 0.015455289770298222, 0.8380914254332884, 109.02120657826231], [3, 0.0169961646358455, 41.36919146079211, 136.83829993466398]] 

Labels = [2, 2, 2, 2, 2] 

Dank

+4

Können Sie uns einen Code zur Verfügung stellen, den Sie bereits ausprobiert haben? –

+0

[PEP-8] (https://www.python.org/dev/peps/pep-0008/); Verwenden Sie 'FeatureVectors' und' Labels' nicht als Variablennamen. Verwenden Sie stattdessen 'feature_vectors' und' labels'. – dabadaba

Antwort

0

Verwenden Sie die folgende Vorgehensweise (mit Listenverständnis):

FeatureVectors = [[4, 0.001743713493735165, 0.6497055601752815, 90.795723552739275, 2], [4, 0.0460937435599832, 0.19764217920409227, 90.204147248752378, 2], [1, 0.001185534503063044, 0.3034913722821194, 60.348908179729023, 2], [1, 0.015455289770298222, 0.8380914254332884, 109.02120657826231, 2], [3, 0.0169961646358455, 41.36919146079211, 136.83829993466398, 2]] 
FeatureVectors, Labels = ([i[:-1] for i in FeatureVectors], [i[-1] for i in FeatureVectors]) 

print(FeatureVectors, Labels, sep='\n') 

Der Ausgang (konsekutiv):

[[4, 0.001743713493735165, 0.6497055601752815, 90.79572355273928], [4, 0.0460937435599832, 0.19764217920409227, 90.20414724875238], [1, 0.001185534503063044, 0.3034913722821194, 60.34890817972902], [1, 0.015455289770298222, 0.8380914254332884, 109.02120657826231], [3, 0.0169961646358455, 41.36919146079211, 136.83829993466398]] 
[2, 2, 2, 2, 2] 
+0

Das hat gut funktioniert, vielen Dank –

+0

@ThomasElliott, gern geschehen – RomanPerekhrest

0

Erledigen Sie es in einem Schuss:

Labels = [vector.pop() for vector in FeatureVectors] 
Verwandte Themen