2017-08-29 5 views
1

eine Pandas Serie mit Zeitstempeln in Strings Konvertieren ist ziemlich einfach, z.B .:Pandas Datenrahmen konvertieren mit Zeitstempel zu String

dateSfromPandas = dfC['Date324'].dt.strftime('%Y/%m/%d') 

Aber wie konvertieren Sie einen großen Pandas Datenrahmen mit allen Spalt Daten zu sein. Die oben funktioniert nicht auf:

dateSfromPandas = dfC.dt.strftime('%Y/%m/%d') 

Antwort

1

Sie apply verwenden können:

dateSfromPandas = dfC.apply(lambda x: x.dt.strftime('%Y/%m/%d')) 

Probe:

dfC = pd.DataFrame({'a': pd.date_range('2016-01-01', periods=10), 
        'b': pd.date_range('2016-10-04', periods=10), 
        'c': pd.date_range('2016-05-06', periods=10)}) 
print (dfC) 
      a   b   c 
0 2016-01-01 2016-10-04 2016-05-06 
1 2016-01-02 2016-10-05 2016-05-07 
2 2016-01-03 2016-10-06 2016-05-08 
3 2016-01-04 2016-10-07 2016-05-09 
4 2016-01-05 2016-10-08 2016-05-10 
5 2016-01-06 2016-10-09 2016-05-11 
6 2016-01-07 2016-10-10 2016-05-12 
7 2016-01-08 2016-10-11 2016-05-13 
8 2016-01-09 2016-10-12 2016-05-14 
9 2016-01-10 2016-10-13 2016-05-15 

dateSfromPandas = dfC.apply(lambda x: x.dt.strftime('%Y/%m/%d')) 
print (dateSfromPandas) 
      a   b   c 
0 2016/01/01 2016/10/04 2016/05/06 
1 2016/01/02 2016/10/05 2016/05/07 
2 2016/01/03 2016/10/06 2016/05/08 
3 2016/01/04 2016/10/07 2016/05/09 
4 2016/01/05 2016/10/08 2016/05/10 
5 2016/01/06 2016/10/09 2016/05/11 
6 2016/01/07 2016/10/10 2016/05/12 
7 2016/01/08 2016/10/11 2016/05/13 
8 2016/01/09 2016/10/12 2016/05/14 
9 2016/01/10 2016/10/13 2016/05/15 

Eine andere mögliche Lösung, wenn möchten ändern original:

for col in dfC: 
    dfC[col] = dfC[col].dt.strftime('%Y/%m/%d') 
print (dfC) 
      a   b   c 
0 2016/01/01 2016/10/04 2016/05/06 
1 2016/01/02 2016/10/05 2016/05/07 
2 2016/01/03 2016/10/06 2016/05/08 
3 2016/01/04 2016/10/07 2016/05/09 
4 2016/01/05 2016/10/08 2016/05/10 
5 2016/01/06 2016/10/09 2016/05/11 
6 2016/01/07 2016/10/10 2016/05/12 
7 2016/01/08 2016/10/11 2016/05/13 
8 2016/01/09 2016/10/12 2016/05/14 
9 2016/01/10 2016/10/13 2016/05/15 
Verwandte Themen