You could try this:
list(d[4].keys())
>>>[Timestamp('1997-07-02 00:00:00'),
Timestamp('1997-07-04 00:00:00'),
Timestamp('1997-07-07 00:00:00'),
Timestamp('1997-07-08 00:00:00'),
Timestamp('1997-07-10 00:00:00')]
Or if you want to convert each timestamp to datetime, you could do
datetimes = [t.to_pydatetime() for t in list(d[4].keys())]
datetimes
>>>[datetime.datetime(1997, 7, 2, 0, 0),
datetime.datetime(1997, 7, 4, 0, 0),
datetime.datetime(1997, 7, 7, 0, 0),
datetime.datetime(1997, 7, 8, 0, 0),
datetime.datetime(1997, 7, 10, 0, 0)]
EDIT:
if you have a long nested dictionary like this:
d = {1: {Timestamp('1997-07-02 00:00:00'): -12.134525612322019,
Timestamp('1997-07-04 00:00:00'): -3.663247640220524,
Timestamp('1997-07-07 00:00:00'): -30.649875958814032,
Timestamp('1997-07-08 00:00:00'): 17.924305289599648,
Timestamp('1997-07-10 00:00:00'): -25.828099872622467},
2: {Timestamp('1997-07-02 00:00:00'): -12.134525612322019,
Timestamp('1997-07-04 00:00:00'): -3.663247640220524,
Timestamp('1997-07-07 00:00:00'): -30.649875958814032,
Timestamp('1997-07-08 00:00:00'): 17.924305289599648,
Timestamp('1997-07-10 00:00:00'): -25.828099872622467},
3: {Timestamp('1997-07-02 00:00:00'): -12.134525612322019,
Timestamp('1997-07-04 00:00:00'): -3.663247640220524,
Timestamp('1997-07-07 00:00:00'): -30.649875958814032,
Timestamp('1997-07-08 00:00:00'): 17.924305289599648,
Timestamp('1997-07-10 00:00:00'): -25.828099872622467}}
and you want the datetime for every key, then you can iterate through the whole dict like this:
datetimes = []
for key in d:
for timestamp in d[key]:
datetime = timestamp.to_pydatetime()
datetimes.append(datetime)
datetimes
>>>[datetime.datetime(1997, 7, 2, 0, 0),
datetime.datetime(1997, 7, 4, 0, 0),
datetime.datetime(1997, 7, 7, 0, 0),
datetime.datetime(1997, 7, 8, 0, 0),
datetime.datetime(1997, 7, 10, 0, 0),
datetime.datetime(1997, 7, 2, 0, 0),
datetime.datetime(1997, 7, 4, 0, 0),
datetime.datetime(1997, 7, 7, 0, 0),
datetime.datetime(1997, 7, 8, 0, 0),
datetime.datetime(1997, 7, 10, 0, 0),
datetime.datetime(1997, 7, 2, 0, 0),
datetime.datetime(1997, 7, 4, 0, 0),
datetime.datetime(1997, 7, 7, 0, 0),
datetime.datetime(1997, 7, 8, 0, 0),
datetime.datetime(1997, 7, 10, 0, 0)]
Or, if you want a whole new dict with the same keys but with the values as a list of datetimes, you can do this:
datetime_dict = {}
for key in d:
datetime_dict[key] = [ts.to_pydatetime() for ts in d[key]]
datetime_dict
>>>{1: [datetime.datetime(1997, 7, 2, 0, 0),
datetime.datetime(1997, 7, 4, 0, 0),
datetime.datetime(1997, 7, 7, 0, 0),
datetime.datetime(1997, 7, 8, 0, 0),
datetime.datetime(1997, 7, 10, 0, 0)],
2: [datetime.datetime(1997, 7, 2, 0, 0),
datetime.datetime(1997, 7, 4, 0, 0),
datetime.datetime(1997, 7, 7, 0, 0),
datetime.datetime(1997, 7, 8, 0, 0),
datetime.datetime(1997, 7, 10, 0, 0)],
3: [datetime.datetime(1997, 7, 2, 0, 0),
datetime.datetime(1997, 7, 4, 0, 0),
datetime.datetime(1997, 7, 7, 0, 0),
datetime.datetime(1997, 7, 8, 0, 0),
datetime.datetime(1997, 7, 10, 0, 0)]}