Ich habe eine Datei mit 200000 Linien ist die dritte Spalte Geschwindigkeit, die nur am sorted.I sein sollte erste 20 ZeilenSorting einen Array von einer anderen in Python
second.txt
0 0 1.200000
0 1 1.200000
0 2 1.200000
0 3 1.200000
0 4 1.200000
0 5 1.200000
0 6 1.200000
0 7 1.200000
0 8 1.200000
0 9 1.200000
0 10 1.200000
0 11 1.200000
0 12 1.200000
0 13 1.200000
0 14 1.200000
0 15 1.200000
0 16 1.200000
0 17 1.200000
0 18 1.200000
0 19 1.200000
Array geben, die als Referenz verwendet werden sollen,
newindex1.txt
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
13 0
14 0
15 0
16 0
17 0
18 0
19 0
Was ich will, ist dritten Spalt Wert zu nehmen und sie newindex1.txt
Indexpaar anzueignen.
Wunsch Ausgang
0 0 1.200000
1 0 1.200000
2 0 1.200000
3 0 1.200000
4 0 1.200000
5 0 1.200000
6 0 1.200000
7 0 1.200000
8 0 1.200000
9 0 1.200000
10 0 1.200000
11 0 1.200000
12 0 1.200000
13 0 1.200000
14 0 1.200000
15 0 1.200000
16 0 1.200000
17 0 1.200000
18 0 1.200000
19 0 1.200000
Alle Beispiele sind nur 20 Zeilen, sind echte Dateien sehr groß.
Ich habe diese
versuchtimport numpy as np
from numpy import loadtxt
from operator import itemgetter
s = loadtxt("second.txt", delimiter=" ", unpack=False)
ni = loadtxt("newindex1.txt", delimiter=" ", unpack=False)
for i, l in enumerate(ni):
for m,n,v in s:
s[m,n,v] == ni[i,l]
Es ist nicht
funktionierts[m,n,v] == ni[i,l]
IndexError: too many indices
Irgendwelche Ideen wie diese zu lösen?
Können Sie ein Beispiel für die Ausgabe zeigen Sie versuchen, leisten? – Keatinge
's' ist nur zweidimensional, aber Sie versuchen, es mit 3 Indizes zu indizieren (' m', 'n',' v'). Was versuchst du in der letzten Zeile zu machen? Ganz zu schweigen von der Tatsache, dass die Art und Weise, wie Sie loopen, 'm',' n' und 'v' sind die * Einträge * in' s', keiner von ihnen sind Indizes (das gleiche gilt für 'l'). Der einzige Index in Ihrem gesamten Code ist "i". – brettb
@Racialz Werfen Sie einen Blick auf die bearbeitete Ausgabe, pls! –