问题
I use dataframe merge 3 times to get my desire results
def write_dips(writer):
df_dips = pd.read_excel(file_path, sheet_name='DipsSummary')
df_sales = pd.read_excel(file_path, sheet_name='SaleSummary')
df_delivery = pd.read_excel(file_path, sheet_name='DeliverySummary')
df_mapping = pd.read_csv(mappingfilepath, delimiter=',', skiprows=[1])
df_dips = df_dips.merge(df_mapping, left_on='Site', right_on='SHIP TO NAME',how='left')
df_dips = df_dips.merge(df_sales, left_on ='IDASS ID', right_on='IdassId',how='left')
df_dips = df_dips.merge(df_delivery, left_on='SHIP-TO PARTY', right_on='Ship-To Party', how='left')
When I try to do 3rd merge option I get following error;
Process finished with exit code 137 (interrupted by signal 9: SIGKILL)
How can I overcome this issue?
回答1:
I overcame by using fillna(0) at each merge.
def write_dips(writer):
df_dips = pd.read_excel(file_path, sheet_name='DipsSummary')
df_sales = pd.read_excel(file_path, sheet_name='SaleSummary')
df_delivery = pd.read_excel(file_path, sheet_name='DeliverySummary')
df_mapping = pd.read_csv(mappingfilepath, delimiter=',', skiprows=[1])
df_dips = df_dips.merge(df_mapping, left_on='Site', right_on='SHIP TO NAME',how='left').fillna(0)
df_dips = df_dips.merge(df_sales, left_on ='IDASS ID', right_on='IdassId',how='left').fillna(0)
df_dips = df_dips.merge(df_delivery, left_on='SHIP-TO PARTY', right_on='Ship-To Party', how='left').fillna(0)
来源:https://stackoverflow.com/questions/58077949/dataframe-merge-gives-process-finished-with-exit-code-137-interrupted-by-signa