pandas 做merge的時候報這個錯:
df22 = pd.merge(df1,df2,left_on='company_name',right_on = 'name',how='left') Process finished with exit code 137
兩個表太大了,可能導致內存不夠。
補充:Pandas:merge函數使用注意事項(pandas的merge函數造成大量錯誤的空值)
相信使用過Pandas的merge函數的人都知道,merge具有連接的功能,左連接更是在數據處理中最常用的連接方式。在使用merge過程中,
dataframe1: a b 1 1 2 2 3 3
dataframe2: b c 1 2 2 3
dataframe = pd.merge(dataframe1,dataframe2,on='b',how='left')后得到
dataframe: a b c 1 1 2 2 2 3 3 3 nan
但有時候dataframe2為
b c 1 2 2 3 3 4
dataframe = pd.merge(dataframe1,dataframe2,on='b',how='left')后得到
dataframe: a b c 1 1 2 2 2 3 3 3 nan
原因是通常我們的dataframe的數據都是從csv文件或者xls文件讀取過來的,在excel中打開對應b那些的數據看起來是一樣的,但是使用pandas讀取的時候,
可能發現不同csv文件或者xls文件的同一列的數據相同的數據具有整型和浮點型的區別,這樣導致在連接的時候,3和3.0是不一樣的,無法對3那行進行連接。
因此,在使用merge進行連接前,必須對連接的關鍵字進行字符化或者整型化的調整。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
上一篇:python高效的素數判斷算法