ich einen Datenrahmen haben, in Python, mit diesen HeaderUmbenennen von mehreren Spalten in einem Panda Datenrahmen, wo durch Umbenennung Sie könnten versehentlich Spalten mit demselben Namen erstellen
GP 2016-Dec 2017-Jan 2017-Feb 2017-Mar 2017-Apr 2017-May 2017-Jun 2017-Jul 2017-Aug 2017-Sep 2017-Oct 2017-Nov
und ich möchte es zu
ändernGP 2017-Jan 2017-Feb 2017-Mar 2017-Apr 2017-May 2017-Jun 2017-Jul 2017-Aug 2017-Sep 2017-Oct 2017-Nov 2017-Dec
Also habe ich ein Array mit dem Datum, das ich für
new_date = [u'2017-Jan', u'2017-Feb', u'2017-Mar', u'2017-Apr', u'2017-May', u'2017-Jun', u'2017-Jul', u'2017-Aug', u'2017-Sep', u'2017-Oct', u'2017-Nov', u'2017-Dec']
und einem Array ersetzen wollen das alte Datum
old_date = Index([u'2016-Dec', u'2017-Jan', u'2017-Feb', u'2017-Mar', u'2017-Apr',
u'2017-May', u'2017-Jun', u'2017-Jul', u'2017-Aug', u'2017-Sep',
u'2017-Oct', u'2017-Nov'],
dtype='object')
und dann einen Zyklus gemacht, in dem jede Spalte einzeln geändert wird.
j = 0
for i in new_date:
print old_date[j] + ' : ' + i
df.rename(columns={old_date[j] : i}, inplace=True)
j = j + 1
und das Endergebnis ist
GP 2017-Dec 2017-Dec 2017-Dec 2017-Dec 2017-Dec 2017-Dec 2017-Dec 2017-Dec 2017-Dec 2017-Dec 2017-Dec 2017-Dec
Also, der Grund, mein Zyklus nicht funktioniert, ist, weil, wenn ich umbenennen meine ersten Spalte „2016-Dec“ bis „2017-Jan“, die neue Datenrahmen wird so aussehen
GP 2017-Jan 2017-Jan 2017-Feb 2017-Mar 2017-Apr 2017-May 2017-Jun 2017-Jul 2017-Aug 2017-Sep 2017-Oct 2017-Nov
es zwei Spalten haben, die Namen „2017-Jan“ und dann der nächste Zyklus beginnen und das Programm alle Spalten umbenennen wird, die Bezeichnung „2017-Jan“ sind "2017-Feb" ... und so weiter.
Also das eigentliche Problem ist, dass ich nicht weiß, wie es zu beheben ist oder ob es eine direktere Möglichkeit gibt, alle Spalten auf einmal zu ändern. Hoffe, jemand wird mich erleuchten! Vielen Dank!
sind Ihre Spaltennamen wirklich Strings (Unicode) oder Datumsangaben? –
Sie sind Zeichenfolge keine Datumswerte –