Guten Tag zusammen,
ich sitze derzeit vor einem Problem dessen Lösung ich noch nicht herrausgefunden habe.
Und zwar möchte ich ein Programm so aufbauen, dass der Nutzer angiebt wieviele Datensätze das Programm verarbeiten soll. Ich habe Beispielsweise n Datensätze (Arrays) die jeweils die selbe Länge haben. Das Programm soll für n viele Datensätze funktionieren.
also ich habe zum Beispiel n Datensätze:
d1 = np.random.rand(100)*2.0-1.0
d2 = np.random.rand(100)*2.0-1.0
d3 = np.random.rand(100)*2.0-1.0
...
dn
Diese sollen in eine Funktion die normalerweise so aufgerufen wird ( erg = fkt(d1,d2,d3, ..., dn) )übergeben werden.
1. wie lässt sich das Programm so schreiben, dass es alle Datensätze einlesen kann?
2. wie lassen sich diese Datensätze an die Funktion übergeben?
Ich hoffe mein Problem ist verständlich.
Vielen Dank im Vorraus
Generischer Programmaufbau
Du verwendest die falsche, nämlich gar keine, Datenstruktur.
Wenn man anfängt Variablennamen zu nummerieren, sollte man stattdessen etwas anderes verwenden. Statt jedes einzelne Element an einen Namen zu binden, sollten diese in einer Liste stehen. Dann erübrigen sich alle deine Fragen.
Wenn man anfängt Variablennamen zu nummerieren, sollte man stattdessen etwas anderes verwenden. Statt jedes einzelne Element an einen Namen zu binden, sollten diese in einer Liste stehen. Dann erübrigen sich alle deine Fragen.
Da du nicht zeigst, wie man auch nur einen einzigen Datensatz in dein Programm reinbekommt, kann man auch nicht so viel dazu sagen, wie man denn nun n davon einliest.
Bezueglich deines zweiten Problems: in Python kann man Funktionen die eine Anzahl von Parametern entgegen nehmen mit einem Container aufrufen:
Bezueglich deines zweiten Problems: in Python kann man Funktionen die eine Anzahl von Parametern entgegen nehmen mit einem Container aufrufen:
Code: Alles auswählen
def f(a, b, c, d):
print(a, b, c, d)
f(1, 2, 3, 4)
argumente = ['a', 'b', 'c', 'd']
f(*argumente)
-
- User
- Beiträge: 379
- Registriert: Mittwoch 27. Juni 2018, 17:39
1) mit einer For-Schleife
2) indem du in der Funktion die Variable als Parameter übergibst, z. B:. Allerdings reicht es auch, wenn du es z. B. so machst:
Aber eigentlich packt man es als Parameter einer Funktion.
2) indem du in der Funktion die Variable als Parameter übergibst, z. B:
Code: Alles auswählen
def function(var1, var2, var_n):
Code: Alles auswählen
def function_1():
var1 = d1
function_2() #somit sind auch die Variablen der Funktion1 in Funktion2
@Sheldor: Du hast in Wirklichkeit keine n-Datensätze, sondern einen Datensatz der Dimension n x 100, das ist in Numpy einfach ein Array, das dann als ein Array auch an Funktionen übergeben werden kann.
Code: Alles auswählen
d = np.random.rand(n, 100) * 2.0 - 1.0
erg = f(d)