Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Dataframe merge给出“进程结束,退出代码137(被信号9:SIGKILL中断)`_Python_Python 3.x_Pandas_Pycharm_Pandas Groupby - Fatal编程技术网

Python Dataframe merge给出“进程结束,退出代码137(被信号9:SIGKILL中断)`

Python Dataframe merge给出“进程结束,退出代码137(被信号9:SIGKILL中断)`,python,python-3.x,pandas,pycharm,pandas-groupby,Python,Python 3.x,Pandas,Pycharm,Pandas Groupby,我使用数据帧合并3次以获得我想要的结果 def write_dips(写入器): df_dips=pd.read_excel(文件路径,工作表名为dipsummary) df_sales=pd.read_excel(文件路径,工作表名为SaleSummary) df_delivery=pd.read_excel(文件路径,工作表名称='DeliverySummary') df_mapping=pd.read_csv(mappingfilepath,分隔符=',',skiprows=[1]) df

我使用数据帧合并3次以获得我想要的结果

def write_dips(写入器):
df_dips=pd.read_excel(文件路径,工作表名为dipsummary)
df_sales=pd.read_excel(文件路径,工作表名为SaleSummary)
df_delivery=pd.read_excel(文件路径,工作表名称='DeliverySummary')
df_mapping=pd.read_csv(mappingfilepath,分隔符=',',skiprows=[1])
df_dips=df_dips.merge(df_映射,左在class='Site',右在class='SHIP TO NAME',how='left')
df_-dips=df_-dips.merge(df_-sales,左在='IDASS-ID'上,右在='IdassId'上,左在='how='left'上)
df_-dips=df_-dips.merge(df_-delivery,left_on='SHIP-TO-PARTY',right_on='SHIP-TO-PARTY',how='left')
当我尝试做第三个合并选项时,我得到以下错误

过程结束,退出代码137(被信号9:SIGKILL中断)


如何克服这个问题?

我通过在每次合并时使用
fillna(0)
克服了这个问题

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)

我想这是内存问题,操作系统正在扼杀脚本。您是否可以使用
head
.iloc
或任何少量数据获取前6000行,然后尝试合并以查看它是否成功运行。@DataPsycho是否可以通过设置索引来克服这一问题?如果是这样,我应该如何为每个数据帧设置索引?它是否可以链接到您跳过csv文件的第一行(可能包含列名,以后在合并过程中找不到列名)?@Edel,我尝试使用SKiprows[0],但后来我发现它找不到我在结尾处添加的列。fillna(0)在每次合并中修复内存泄漏问题