Im having some performance issues with the code below, mostly because of the apply function that im using on a huge dataframe. I want to update the semi_dict dictionary with some other data that im calculating with the some functions. Is it any way to improve this?
def my_function_1(semi_dict, row):
    #do some calculation/other stuff based on the row data and append it to the dictionary
    random_dict = dict(data=some_data, more_data=more_data)
    semi_dict["data"].append(random_dict)
   
def my_function_2(semi_dict, row):
    #do some calculation/other stuff based on the row data and append it to the dictionary
    random_dict = dict(data=some_data, more_data=more_data)
    semi_dict["data2"].append(random_dict)
dictionary_list = []
for v in values:
   
   df_1_rows = df_1_rows[(df_1_rows.values == v)]
   df_2_rows = df_2_rows[(df_2_rows.values == v)]
   
   semi_dict = dict(value=v, data=[], data2=[])
   function = partial(my_function_1, semi_dict)
   function_2 = partial(my_function_2, semi_dict)
   df_1_rows.apply(lambda row : function(row), axis=1)
   df_2_rows.apply(lambda row : function_2(row), axis=1)
   dictionary_list.append(semi_dict)
 
    