2016-10-03 6 views
0

Wie kann ich 1 Spalte und den Index eines Pandas Datenrahmens mit mehreren Spalten in ein Numpy Array konvertieren, wobei die Daten mit dem richtigen Spaltenwert aus dem Datenrahmen übereinstimmen?Pandas Dataframe Datumsindex und Spalte in Numpy Array konvertieren

Es gibt ein paar Probleme hier mit Datentyp und es treibt meine Nüsse versuchen, sowohl den Index und die Spalte und in das eine Array zu bekommen !!

Hilfe wäre sehr willkommen!

+0

Können Sie Ihre Frage klären, wie es unklar ist, was Sie wirklich wollen, im Idealfall mit Beispieldaten, Code und dem gewünschten Ausgang – EdChum

+0

Hallo @EdChum, nach viel Mühe habe ich die Daten auf Werte statt umgewandelt, wie ich sehe, ein anderer könnte nicht Weg ... also möchte ich jetzt die Werte (früher Daten) mit den Spaltenwerten verbinden. Kann ich ein 1D-Array von numpy Werten zu einem anderen 1D Array von Numpy Float-Werte, so dass jeder Wert in Zeile mit jedem Wert Zeile Werte 1 = [1,2,3,4] Werte 2 = [7,8 , 9,10] joint = [[1,7], [2,8], [3,9], [4,10]] Immer wenn ich versuche und es mit Verketten mache, klebt es sie an jedem Ende , aber ich brauche die Werte in einer Linie! Danke! – cwse

Antwort

1

Wenn A Datenrahmen ist und col die Spalte:

import pandas as pd output = pd.np.column_stack((A.index.values, A.col.values))

1

IIUC Sie benötigen values:

start = pd.to_datetime('2015-02-24') 
rng = pd.date_range(start, periods=5) 

df = pd.DataFrame({'a': range(5), 'b':list('ABCDE')}, index=rng) 
print (df) 
      a b 
2015-02-24 0 A 
2015-02-25 1 B 
2015-02-26 2 C 
2015-02-27 3 D 
2015-02-28 4 E 

print (df.values) 
[[0 'A'] 
[1 'B'] 
[2 'C'] 
[3 'D'] 
[4 'E']] 

wenn Bedarf Indexwerte auch datetime-string Werte in index zuerst konvertieren und dann reset_index verwenden für index Spalte Umwandlung:

df.index = df.index.astype(str) 
print (df.reset_index().values) 
[['2015-02-24' 0 'A'] 
['2015-02-25' 1 'B'] 
['2015-02-26' 2 'C'] 
['2015-02-27' 3 'D'] 
['2015-02-28' 4 'E']] 
+0

danke @jezrael, aber meine Werte sind 'Datum' Format, und wenn ich Reset_index sie einige wie in Strings? Ich habe diesen Ansatz versucht. Ich habe auch versucht, die Daten in Floats zu konvertieren und dann wieder auf die Spaltenwerte beizutreten. Wie könnte ich das schaffen? Kann ich ein 1D Array von numpy Werten zu einem anderen 1D Array von Numpy Float-Werten verbinden, so dass jeder Wert mit jedem Wert übereinstimmt, dh Werte 1 = [1,2,3,4] Werte 2 = [7, 8,9,10] joint = [[1,7], [2,8], [3,9], [4,10]] Immer, wenn ich versuche und es mit konkatenate tun, klebt es sie entweder an Ende, aber ich brauche die Werte zu richten! Danke! – cwse

+0

Ich bearbeite die Antwort mit dem 'string' Index und benutze' 'numpy array' 'np.vstack ((np.array ([1,2,3,4]), np.array ([7,8, 9,10]))). T) ' – jezrael

+0

Danke @jezrael! Der Transpose-Trick ist perfekt !! – cwse

Verwandte Themen