Ich möchte Anzeige eine DataFrame
mit einem benutzerdefinierten Format für den Index.Benutzerdefiniertes Anzeigeformat für Pandas DatetimeIndex?
Ich weiß, wie man eine DatetimeIndex
in Zeichenfolge mit einigen Format konvertieren, und ich bin mir auch der schönen styling in 0.17.1 eingeführt bekannt. Der Formatierungsmechanismus scheint jedoch keine Möglichkeit zu bieten, den Index selbst zu formatieren (oder habe ich etwas übersehen?).
Hier ist ein einfaches Beispiel
In[10]:
df = pd.DataFrame(
index=pd.DatetimeIndex(start='2017-01-01', freq='D', periods=3),
columns=['v'],
data=np.arange(3)
)
df
Out[10]:
v
2017-01-01 0
2017-01-02 1
2017-01-03 2
In[11]:
df.index.format(formatter=lambda t: f'{t:%Y-%m-%d %a}')
Out[11]:
['2017-01-01 Sun', '2017-01-02 Mon', '2017-01-03 Tue']
Ich mag wäre in der Lage sein df
anzuzeigen, wie:
def dow_display(df):
df = df.copy()
df.index = df.index.format(formatter=lambda t: f'{t:%Y-%m-%d %a}')
return df
:
Out[10]:
v
2017-01-01 Sun 0
2017-01-02 Mon 1
2017-01-03 Tue 2
Ein unelegant Weg natürlich zu tun ist, und wenn gewünscht, konvertieren Sie die df
zum Zwecke der Anzeige, aber ich finde das ziemlich furchtbar. Es wäre so viel schöner, die Styling-Fähigkeit zu nutzen.
Ich glaube nicht, dass es ein benutzerdefiniertes Format Anzeige-Option (wie es für Schwimmer ist) –
gut, sicher (und noch einfacher ist 's ['dow'] = s.index.strftime ('% a')'), aber dann wird jede Schicht Operation die Hölle durcheinander bringen von jedem, der das Ergebnis betrachtet ... –