Transponse einer Liste

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Joey21
User
Beiträge: 3
Registriert: Dienstag 30. Januar 2018, 00:00

Ich weiss ,dass das ziemlich einfach sein müsste
Hab auch was dazu gemacht aber finde meine Lösung ziemlich ineffizient
Für die Aufgabe :
Bspw sei l =[[2,3],[4,5]] und X=[[3,1],[4,7]]
exp(l * X^T)

-> Ansatz:
d beliebig gewählt
d= print(np.transpose(X))
np.exp(l * d)


:?
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

deine "Lösung" kann gar nicht funktionieren... `d` ist bei dir `None``, weil `print` keinen Rückgabewert hat.

Der "Umweg" ist auch Quatsch, weil nicht nötig. Das kannst du alles in einem machen:

[codebox=pycon file=Unbenannt.txt]>>> import numpy as np
>>> l=[[2,3],[4,5]]
>>> x=[[3,1],[4,7]]
>>> np.exp(l*np.transpose(x))
array([[4.03428793e+02, 1.62754791e+05],
[5.45981500e+01, 1.58601345e+15]])[/code]

Hast du `l` und `x` mit Absicht als Liste anstatt als Numpy-Array?

Gruß, noisefloor
Joey21
User
Beiträge: 3
Registriert: Dienstag 30. Januar 2018, 00:00

Okay, dass war echt bescheuert von mir :lol:
Hab jetzt mein Fehler gesehen , vielen dank

Ich weiss nicht ob es möglich ist aber ich hätte da noch eine Fragen
und zwar versuche ich mir gerade ein Code in R auf Python zu übersetzten.
Ich komme an einem Punkt aber leider nicht weiter .

Code R:
1)

Code: Alles auswählen

X= matrix(NaN,length(int.x),length(l))
2)

Code: Alles auswählen

for(i in 1:length(l)) X[,i]= MF[[i]](x)
Python:
1)

Code: Alles auswählen

 X= [[np.nan],[x.length()],[l.length()]][
2)

Code: Alles auswählen

for i in range(1,1+l.length()):
            X[:i]= MF[i](x)


Gerade bei der zweiten Zeile , wüsste ich nicht wie ich es mit der zweifache Klammer machen könnte ...Gibt es dafür vielleicht eine andere Möglichkeit
narpfel
User
Beiträge: 643
Registriert: Freitag 20. Oktober 2017, 16:10

@Joey21: Hier hat TobiFrischling das gleiche Problem wie du. Ein paar Ansätze sind da schon genannt worden.
Antworten