2 Integer zusammefügen

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
chulia
User
Beiträge: 29
Registriert: Mittwoch 17. August 2011, 10:26

Hallo ihr Lieben,

ich hab folgendes Problem.
Ich habe ein Array mit 3 Spalten (1. Spalte = fortlaufender Index, 2. Spalte = Monate 1-12 (die sich immer wiederholen), 3. Spalte (das jeweilige Jahr)

0 1 2010
1 2 2010
2 3 2010
...
11 12 2010
12 1 2011
usw.

Nun hätte ich gerne, dass die 2. Spalte und die 3. Spalte zusammengefasst werden und mein Array nur noch 2 Spalten hat:

0 1_2010
1 2_2010
usw.

Denn Schlussendlich habe ich monatliche Daten pro Jahr, die ich gerne plotten möchte. Allerdings soll auf der x Achse nicht mein fortlaufender Index stehen, sondern Monat und Jahr ... oder eben alle 12 Monate und dadrunter einmal das Jahr.

Ich hab gelesen, dass das mit .join() geht, allerdings müssen meine Zahlen dann Strings werden... nur stehen die dann in einer Tabelle nichtmehr untereinandern, sondern alle Zahlen sind dann ein fortlaufender String.

Kann mir einer von euch helfen?
Vielen Dank und liebe Grüße
BlackJack

@chulia: Ich denke Du solltest keine Zeichenketten erstellen sondern `numpy.datetime64`-Werte oder `datetime.datetime` und die zum Plotten als Werte für die enstprechende Achse verwenden.
chulia
User
Beiträge: 29
Registriert: Mittwoch 17. August 2011, 10:26

@BlackJack: Danke, das kannte ich noch nicht.
ich hab es jetzt so gemacht:

Code: Alles auswählen

a=np.arange('1951-01','2011-01',dtype='datetime64[M]')
bloß nun kann ich meine fortlaufende ID nichtmehr mit meinem erzeugten Datum zusammenfügen.
Das habe ich bisher immer mit

Code: Alles auswählen

c=c_[ID,a]
gemacht. Da kommt jetzt aber die Fehlermeldung: invalid type promotion
Aber es sind doch beides Arrays...

Liebe Grüße
BlackJack

@chulia: Ja aber Du versuchst Datumswerte als Index zu verwenden. Wie soll denn das gehen?
chulia
User
Beiträge: 29
Registriert: Mittwoch 17. August 2011, 10:26

@BlackJack
Andersherum ...

ich habe viele andere Daten wo ich nur meine ID habe und diese ID widerspiegelt ein Datum
ID Datum
0 1951-01
(aber das ist im Grunde auch nichtmehr wichtig,denn ich hab ja mein Datum)

Ich hab jetzt versucht für meinen plot auf der xAchse mein Datum einzugeben.... allerdings wird nicht das Datum angezeigt sondern eine Spanne von -300 bis +500.
Eine Fehlermeldung wird nicht angezeigt.
Woran kann das liegen?

Code: Alles auswählen

plt.plot(a[:],drought[:,2])
Antworten