siebert schrieb:
> Das Problem ist, dass die Dateigröße dadurch schnell durch die Decke
> schießt und das Programm langsam wird.
>
> Daher möchte ich euch Fragen, ob ihr eine Alternative habt?
Da Excel nicht gut zur Bearbeitung größerer Datenmengen geeignet ist,
würde ich als Alternative Python/Numpy, Octave, Scilab, R, Matlab oder
irgendetwas in dieser Richtung vorschlagen.
Mit Numpy sähe das in etwa wie folgt aus:
Die Matrix daten0 enthalte die 1000 × 1000 Zahlenwerte, bspw.
generiert mit
1 | daten0 = np.random.rand(1000, 1000)
|
1 | [[0.6789575 0.54717829 0.94515349 ... 0.90404275 0.54632823 0.361212 ]
|
2 | [0.75947052 0.64638551 0.27401276 ... 0.66026767 0.48927502 0.50237513]
|
3 | [0.2509503 0.92464859 0.8825331 ... 0.92142745 0.50211536 0.21358945]
|
4 | ...
|
5 | [0.22735865 0.32949274 0.88273482 ... 0.23290303 0.33973415 0.14164492]
|
6 | [0.88863819 0.82135558 0.48438359 ... 0.61349826 0.23663658 0.30137669]
|
7 | [0.42845457 0.1880116 0.39903286 ... 0.59569642 0.58733752 0.90263999]]
|
Den Vergleichswert legst du bspw. mit
fest.
Mit
erstellst du daraus eine zweite 1000×1000-Matrix, deren Elemente True
(für alle Elemente > x) oder False (für alle anderen) sind:
1 | [[ True True True ... True True True]
|
2 | [ True True False ... True True True]
|
3 | [False True True ... True True False]
|
4 | ...
|
5 | [False True True ... False True False]
|
6 | [ True True True ... True False True]
|
7 | [ True False True ... True True True]]
|
Falls die Ergebnisse nicht True und False, sondern 1 und "nichts" sein
sollen, geht das so:
1 | daten2 = np.where(daten0 > x, 1, None)
|
1 | [[ 1 1 1 ... 1 1 1]
|
2 | [ 1 1 None ... 1 1 1]
|
3 | [None 1 1 ... 1 1 None]
|
4 | ...
|
5 | [None 1 1 ... None 1 None]
|
6 | [ 1 1 1 ... 1 None 1]
|
7 | [ 1 None 1 ... 1 1 1]]
|
("None" ist das "Nichts" in Python)
Die Anweisung
bzw.
1 | daten2 = np.where(daten0 > x, 1, None)
|
wird dabei schneller ausgeführt als du gucken kannst :)