Как я могу преобразовать список из нескольких записей, дат и значений в кадр данных Pandas на основе даты? Например:
С учетом следующего списка:
list_ex = [{'Date': '12/31/2018', 'A': 'N/A'},
{'Date': '09/30/2018', 'A': '$5.75'},
{'Date': '06/30/2018', 'A': '$5.07'},
{'Date': '03/31/2018', 'A': '$3.27'},
{'Date': '12/31/2018', 'B': 'N/A'},
{'Date': '09/30/2018', 'B': '$56,576.00'},
{'Date': '06/30/2018', 'B': '$52,886.00'},
{'Date': '03/31/2018', 'B': '$51,042.00'}]
Как мы можем преобразовать это в Dataframe, который выглядит следующим образом (также, где будет 4 или 5 дополнительных столбцов к этому):
Date A B
0 2018-12-31 N/A N/A
1 2018-09-30 $5.75 $56,576.00
2 2018-06-30 $5.07 $52,886.0
3 2018-03-31 $3.27 $51,042.00
Я выполнил несколько поисков, но не смог найти примеров, которые могли бы помочь с этим. Следовательно, я сделал две неудачные попытки, но не приблизился к желаемому результату.
Попытка 1: я преобразовал значения строк в даты, а затем надеялся, что создание фрейма данных будет «автоматически» группироваться по дате, но это, очевидно, не сработало, поскольку каждое новое дополнение имеет новый индекс. Попытка 1 привела к тому же (в основном) df.
for i in list_ex:
i['Date'] = datetime.datetime.strptime(i['Date'], '%m/%d/%Y')
# Print Pandas dataframe
df = pd.DataFrame(list_ex)
print(df)
Попытка 2: сортировка по дате. Это, очевидно, не удалось, поскольку он просто отсортирован по дате и сохранил то же количество строк.
new_df = pd.sort_values('Date')
Спасибо за ваше время.