Letzte "Spalte" in numpy - Array wiedergeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
losgehts
User
Beiträge: 20
Registriert: Montag 8. Juni 2009, 01:00

Hallo allerseits!

ich bin absoluter Neuling und möchte gerne eine Spalte (die letzte) eines 2dim. numpy - Arrays einem eindimensionalen übergeben. Mit einer Schleife scheint mir das umständlich, und ich denke, ihr wisst vielleicht wie das besser geht.

Hier ein Beispiel mit Schleife, damit ihr mich besser versteht:

Code: Alles auswählen

from numpy import zeros
b = zeros((2,3))   # numpy-Array
# letzte Spalte fuellen:
b[0,2] = 4
b[1,2] = 6
b[2,2] = 8
b[3,2] = 7

# Diese folgende Konstruktion moechte ich verbessern:
c = zeros(len(b))
for i in range(0,len(b)):
	c[i] = b[i,2]

print c
Vielleicht geht das sogar allgemein für die n-te Spalte (nicht nur die letzte) das wäre natürlich super.

Im Voraus vielen Dank für eure Mühe!
Grüße, Ulrich

[edit: falls das wichtig ist:
Pythonversion: 2.6.1
numpy: 1.3.0]
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Code: Alles auswählen

c = b[:,2]
Du solltest dich noch einmal gründlich mit dem numpy-Tutorial auseinander setzen, das sind die einfachsten Grundlagen!!
(Zeile 6 und 7 werden z.B. so auch nicht funktionieren, der Index geht nur bis 2)

Edit: n-te Spalte geht so logischerweise auch:

Code: Alles auswählen

c = b[:,n]
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Du kannst auch zwanglos

Code: Alles auswählen

b[:,2] = arange(3, 5)
# oder
b[:,2] = 3, 4
machen. Und wenn Du nur mit Integern arbeitst, kannst Du auch

Code: Alles auswählen

b = zeros((2, 3), dtype = int)
machen, um Platz zu sparen.

HTH
Christian
losgehts
User
Beiträge: 20
Registriert: Montag 8. Juni 2009, 01:00

Hallo ice2k3, hallo Christian,

vielen Dank für eure Antworten.

Ja, ich weiß, dass das die absoluten Basics sind. Mir fällt es nur sehr schwer, geziehlt an die richtigen Infos zu kommen.

Meinst du mit "das Numpy-Tutorial" ein bestimmtes, oder einfach eines, der unzähligen, die ich bei Google finde (sorry, ich kann gut mit VBA umgehen, finde mich bis jetzt als blutiger Anfänger in Python aber noch garnicht zurecht)?


Vielen Dank nochmals für eure Antworten ich kann sie gut adaptieren!

Grüße, Ulrich
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Ein guter Einstieg ist das "Tentative Tutorial". Aber prinzipiell musst Du hier gar nicht googlen, sondern kannst Dich einfach auf den Seiten von numpy/scipy durchklicken.
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

CM hat geschrieben:Ein guter Einstieg ist das "Tentative Tutorial". Aber prinzipiell musst Du hier gar nicht googlen, sondern kannst Dich einfach auf den Seiten von numpy/scipy durchklicken.
Genau das habe ich gemeint, das ist ja eigentlich auch das offizielle ;)
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

tentative == offiziell :?: *kopfkratz*

Also als offiziell würde ich dies hier bezeichnen. Wobei durchaus noch mehr geboten wird. Aber darüber wollen wir uns nicht streiten, oder? ;-)

Gruß,
Christian
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

CM hat geschrieben:tentative == offiziell :?: *kopfkratz*
Auf jeden Fall ist es auf der offiziellen(?) Seite http://numpy.scipy.org/ als *das* Tutorial verlinkt ;)
losgehts
User
Beiträge: 20
Registriert: Montag 8. Juni 2009, 01:00

Hallo ihr beiden!

Danke für die Links / Empfehlungen, da werde ich mich bilden.

Nochmals danke für eure Hilfe!

Grüße, Ulrich
Antworten