2017-11-16 12 views
0

Ich habe einen Datenrahmen, der 438x14401 ist. Ich habe einen DateTimeIndex, der die gleiche Länge (Breite?) Wie die Spalten im Dataframe hat, die jetzt nur mit 1 - ... markiert werden. Ich versuche, diese Werte durch die Daten in meinem DateTimeIndex zu ersetzen.Pandas - DatetimeIndex als Spaltenüberschriften

enter image description here

enter image description here

Ich versuche, Spaltenüberschriften 0 bis substitude - Ende mit den datetimeindex Werte, die in der Länge übereinstimmen sollte. Ich habe versucht, nur die Spalten mit den Daten umzubenennen und sie ohne Erfolg zusammenzuführen. Ist das überhaupt möglich?

stations = stations.iloc[:,2:].rename(columns=v, inplace=True) 
+0

Dies fühlt sich nicht an Recht. Warum verwenden Sie das Datetime nicht als Index? –

+0

Ich habe versucht, aber weiterhin Fehler empfangen. Ich habe es geschafft, den DataFrame nach Bedarf einzurichten, und ich werde den ursprünglichen Beitrag bearbeiten. Idealerweise hast du recht, das wäre am besten. – Babeeshka

Antwort

1

Sie können Ihre DatetimeIndex direkt an stations.columns zuweisen:

Probe df:

df = pd.DataFrame({'a': [1,2,3], 'b': [9,8,7], 'c': [7,5,1], 'd':[1,3,5]}) 
df 
    a b c d 
0 1 9 7 1 
1 2 8 5 3 
2 3 7 1 5 

some_date_range = pd.date_range('2017-01-01', periods=len(df.columns)) 

df.columns = some_date_range 

df 
    2017-01-01 2017-01-02 2017-01-03 2017-01-04 
0   1   9   7   1 
1   2   8   5   3 
2   3   7   1   5 

ersten beiden Spaltenwerte halten (Referenzierung How do i change a single index value in pandas dataframe? seit Index nicht wandelbar Operationen nicht unterstützt):

aslist = df.columns.tolist() 
aslist[2:] = pd.date_range('2017-01-01', periods=2) 
df.columns = aslist 
df 
    a b 2017-01-01 00:00:00 2017-01-02 00:00:00 
0 1 9     7     1 
1 2 8     5     3 
2 3 7     1     5 
+0

Kann ich indizieren, wo die Spalten platziert werden? Überspringen Sie beispielsweise die ersten beiden Spalten, die Koordinaten sind? Ich versuche, dies zu erreichen. .iloc [:, 2:] ', aber immer Fehler der Länge nicht übereinstimmen. – Babeeshka

+0

Es scheint nicht sehr sauber, aber ich habe die folgende Antwort verwendet: https://stackoverflow.com/questions/40427943/how-do-i-change-a-single-index-value-in-pandas-dataframe .. Siehe Änderungen ... Sie sollten absolut sicher sein, dass die Länge übereinstimmt. –

Verwandte Themen