Ausgabe der der Datei ändern

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
redbomberle
User
Beiträge: 19
Registriert: Dienstag 21. Oktober 2008, 18:28

Hallo zusammen, ich bin neu hier und habe gleich mal eine Frage an euch:

Ich habe hier folgendes Python Programm welches mir verschiedene Zufallszahlen ausgibt:

Code: Alles auswählen

import mdp
import sys

#mdp.numx_rand.seed(1266090063)
mdp.numx_rand.seed(None)

def uniform(min_, max_, dims):
	"""Return a random number between min_ and max_ ."""
	return mdp.numx_rand.random(dims)*(max_-min_)+min_
	
def circumference_distr(center, radius, n):
	"""Return n random points uniformly distributed on a circumference."""
	phi = uniform(0, 2*mdp.numx.pi, (n,1))
	x = radius*mdp.numx.cos(phi)+center[0]
	y = radius*mdp.numx.sin(phi)+center[1]
	return mdp.numx.concatenate((x,y), axis=1)
	

def circle_distr(center, radius, n):
	"""Return n random points uniformly distributed on a circle."""
	phi = uniform(0, 2*mdp.numx.pi, (n,1))
	sqrt_r = mdp.numx.sqrt(uniform(0, radius*radius, (n,1)))
	x = sqrt_r*mdp.numx.cos(phi)+center[0]
	y = sqrt_r*mdp.numx.sin(phi)+center[1]
	return mdp.numx.concatenate((x,y), axis=1)


def rectangle_distr(center, w, h, n):
	"""Return n random points uniformly distributed on a rectangle."""
	x = uniform(-w/2., w/2., (n,1))+center[0]
	y = uniform(-h/2., h/2., (n,1))+center[1]
	return mdp.numx.concatenate((x,y), axis=1)






def node_belongs_to_cluster(node):
	n_clusters = len(gng.graph.connected_components())
	for clus in range(0, n_clusters, 1):
		gnode = gng.graph.connected_components()[clus]
		n_cluster_members = len(gnode)
		for j in range(0, n_cluster_members, 1):
			if gnode[j] is node:
				return clus
	return -1
		
		
		
		
		
def get_str(x):
	st=""
	for i in range(0, len(x), 1):
		st = "%s %f" % (st, x[i])
	return st


N = 50
cf1 = circumference_distr([16,-0.5], 2, N)
cf2 = circumference_distr([3,-2], 0.3, N)
cl1 = circle_distr([-5,3], 0.5, N/2)
cl2 = circle_distr([3.5,2.5], 0.7, N)
r1 = rectangle_distr([-1.5,0], 1, 4, N)
r2 = rectangle_distr([+1.5,0], 1, 4, N)
r3 = rectangle_distr([0,+1.5], 2, 1, N/2)
r4 = rectangle_distr([0,-1.5], 2, 1, N/2)
x = mdp.numx.concatenate([cf1, cf2, cl1, cl2, r1,r2,r3,r4], axis=0)
x = mdp.numx.take(x,mdp.numx_rand.permutation(x.shape[0]), axis=0)
print x
exit()


Dieser Code gibt mir folgendes aus:

[ 1.75671351e+00 1.29173403e+00]
[ 3.14788920e+00 -1.73898509e+00]
[ -1.95571088e+00 -9.23473588e-01]
[ -6.20502733e-01 -1.50751907e+00]
[ -5.02186499e+00 3.26380875e+00]
[ 1.61860006e+00 1.22023659e+00]
usw.


Wie kann ich mir bitte nur die Zahlen ausgeben lassen, also ohne die [ und ] Klammern?
Ich werde da aus dem Code nicht schlau, wo diese Klammern denn gesetzt werden.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hallo redbomberle, willkommen im Forum,

du bekommst da eine einelementige Liste raus, also musst du via [0] auf den ersten Eintrag der Liste zugreifen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

Die Lösung wird wahrscheinlich die selbe sein, aber es sind keine Listen, sondern wahrscheinlich eher so etwas wie Matrix- oder Array-Objekte. An der Stelle wäre es hilfreich zu wissen was `mdp` für ein Modul/Paket ist!?
redbomberle
User
Beiträge: 19
Registriert: Dienstag 21. Oktober 2008, 18:28

also die Daten kommen wie folgt heraus:

[ [zahlx zahly] [zahlx zahly]...[zahlx zahly] ]

Dabei handelt es sich um Punkte in einem 2Dimensionalem Raum. mdp ist ein Modular toolkit for Data Processing.

Ich möchte nun die Daten von dem File einlesen, aber dazu möchte ich die Klammern weg haben.

Ist in dem Code x mein "Array" in dem sich die Werte befinden?
Soll ich dann auf diesen mit x[0],x[1]... zugreifen?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Versuch macht kluch ;-) Leonidas hatte Dir das doch schon geschrieben!
BlackJack

Neben herum probieren kann man auch mal die Dokumentation lesen. So wie's aussieht sind das `numpy`-Arrays und da gibt's auch Funktionen/Methoden Werte in Dateien zu schreiben und auch wieder ein zu lesen.
Antworten