Dataframe merge gives `Process finished with exit code 137 (interrupted by signal 9: SIGKILL)`

自作多情 提交于 2019-11-28 11:05:38

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!