Вы можете использовать df.to_dict
с ключевым словом orient='records'
.
Исходный кадр данных:
>>> df.head()
>>>
count
timestamp
1980-10-05 01:12:00 56.4691
1980-10-05 01:13:00 54.9415
1980-10-05 01:14:00 52.0359
1980-10-05 01:15:00 47.7313
1980-10-05 01:16:00 50.5876
Сделать 'timestamp'
столбец:
>>> df = df.reset_index()
>>> df.head()
>>>
timestamp count
0 1980-10-05 01:12:00 56.4691
1 1980-10-05 01:13:00 54.9415
2 1980-10-05 01:14:00 52.0359
3 1980-10-05 01:15:00 47.7313
4 1980-10-05 01:16:00 50.5876
Используйте df.to_dict
, чтобы получить окончательный результат:
>>> result = df.to_dict(orient='records')
>>> result[:5]
>>>
[{'count': 56.4691, 'timestamp': Timestamp('1980-10-05 01:12:00')},
{'count': 54.9415, 'timestamp': Timestamp('1980-10-05 01:13:00')},
{'count': 52.0359, 'timestamp': Timestamp('1980-10-05 01:14:00')},
{'count': 47.7313, 'timestamp': Timestamp('1980-10-05 01:15:00')},
{'count': 50.5876, 'timestamp': Timestamp('1980-10-05 01:16:00')}]
edit: Мне неясно, как именно вы хотите, чтобы метки времени были представлены в конечном результате. Возможно, вам придется использовать to_json
над to_dict
, как показано в ответ Сандипа Кадапы .