Вот кадр данных.Я хочу, чтобы даты были в формате '%Y-%m-%d %H:%M:%S'
.
import pandas as pd
df2 = pd.DataFrame([['2017-18','','','','','','','','','','','',''], ['COMPANIES', '01-APR-2017', '01-MAY-2017', '01-JUN-2017',
'01-JULY-2017', '01-AUG-2017', '01-SEP-2017', '01-OCT-2017', '01-NOV-2017', '01-DEC-2017', '01-JAN-2018', '01-FEB-2018', '01-MAR-2018']])
Я пытался,
df2.iloc[1, 1:] = df2.iloc[1, 1:].str.replace("JULY", "JUL")
df2.iloc[1, 1:] = df2.iloc[1, 1:].apply(pd.to_datetime, format = '%d-%b-%Y')
, но это дает:
0 1 2 3 \
0 2017-18
1 COMPANIES 1491004800000000000 1493596800000000000 1496275200000000000
4 5 6 \
0
1 1498867200000000000 1501545600000000000 1504224000000000000
7 8 9 \
0
1 1506816000000000000 1509494400000000000 1512086400000000000
10 11 12
0
1 1514764800000000000 1517443200000000000 1519862400000000000
Я что-то упустил?Есть ли другой способ получить даты в требуемом формате?
Я даже пытался:
for i in df2.iloc[1, 1:]:
i = datetime.datetime.fromtimestamp(int(i)).strftime('%Y-%m-%d %H:%M:%S')
, но дает ValueError: timestamp out of range for platform localtime()/gmtime() function