Я создаю пустой pandas фрейм данных как таковой:
self.tracker = pd.DataFrame(columns = ['Portfolio Value', 'In Position','Capital',
'Asset Quantity','Total Fees Paid'],
index = ['Date'])
Я хочу вставить новые строки в фрейм данных в for-l oop. Теперь я знаю, что использование .concat()
- самый эффективный способ сделать это. Но все примеры показывают, что это нереальный c и довольно бессмысленный подход использования понимания списка с помощью метода .concat()
.
Мой индекс - это индекс объекта datetime. Причина, по которой я не создаю диапазон дат и не устанавливаю его в качестве индекса, заключается в том, что в течение l oop выполняется итерация данных временных рядов с пропущенными датами. Я вставляю новые строки в фрейм данных следующим образом:
for (index1, row1), (index2, row2) in zip(self.ohlcv.iterrows(), self.features.iterrows()):
self.tracker.loc[index1] = [self.asset_quantity * row1['Open'],
self.in_position, self.capital,
self.asset_quantity,
self.cumulative_fees_paid]
Однако, когда я исследую этот фрейм данных, с tracker.index
я получаю следующее:
Index([ 'Date', 2016-06-06 00:00:00, 2016-06-07 00:00:00,
2016-06-08 00:00:00, 2016-06-09 00:00:00, 2016-06-10 00:00:00,
2016-06-11 00:00:00, 2016-06-12 00:00:00, 2016-06-13 00:00:00,
2016-06-14 00:00:00,
...
2017-01-06 00:00:00, 2017-01-07 00:00:00, 2017-01-08 00:00:00,
2017-01-09 00:00:00, 2017-01-10 00:00:00, 2017-01-11 00:00:00,
2017-01-12 00:00:00, 2017-01-13 00:00:00, 2017-01-14 00:00:00,
2020-04-05 00:00:00],
dtype='object', length=225
Итак, почему является ли первая строка моего индекса именем фактического столбца индекса?