Я пытаюсь объединить множество фреймов данных, чтобы сделать корреляционную матрицу в pandas. Таким образом, мне кажется, что я должен продолжать добавлять столбцы справа, с «Дата» в качестве индекса. Но когда я пытаюсь выполнить эту функцию только с 50 кадрами данных, она заканчивается ошибкой памяти.
Кто-нибудь знает, что происходит?
def taking_and_combining_data_from_mysql_to_excel(root):
saved_path = root + "\main_df.xlsx"
main_df = pd.DataFrame()
mycursor = mydb.cursor(buffered=True)
for key, value in stock_dic.items():
mycursor.execute("""SELECT date, Adj_close
FROM hk_stock
Where date >= '2020-03-13 00:00:00' and stock_number = '{}'""".format(key))
row_result = mycursor.fetchall()
df = pd.DataFrame(row_result)
df.columns = ['Date', value]
df.set_index('Date',inplace=True)
if main_df.empty:
main_df = df
else:
main_df = main_df.join(df,how="outer")
with pd.ExcelWriter(saved_path) as writer:
main_df.to_excel(writer,sheet_name="raw_data")
main_df.corr().to_excel(writer,sheet_name="correlation")
return main_df