pandas merge報錯的解決方案
pandas 做merge的時候報這個錯:
df22 = pd.merge(df1,df2,left_on='company_name',right_on = 'name',how='left') Process finished with exit code 137
查了一下原因是:
兩個表太大了,可能導(dǎo)致內(nèi)存不夠。
補充:Pandas:merge函數(shù)使用注意事項(pandas的merge函數(shù)造成大量錯誤的空值)
相信使用過Pandas的merge函數(shù)的人都知道,merge具有連接的功能,左連接更是在數(shù)據(jù)處理中最常用的連接方式。在使用merge過程中,
經(jīng)常會出現(xiàn)這種情況:
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的數(shù)據(jù)都是從csv文件或者xls文件讀取過來的,在excel中打開對應(yīng)b那些的數(shù)據(jù)看起來是一樣的,但是使用pandas讀取的時候,
可能發(fā)現(xiàn)不同csv文件或者xls文件的同一列的數(shù)據(jù)相同的數(shù)據(jù)具有整型和浮點型的區(qū)別,這樣導(dǎo)致在連接的時候,3和3.0是不一樣的,無法對3那行進行連接。
因此,在使用merge進行連接前,必須對連接的關(guān)鍵字進行字符化或者整型化的調(diào)整。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
- pandas數(shù)據(jù)合并與重塑之merge詳解
- Pandas數(shù)據(jù)集的合并與連接merge()方法
- Python?pandas數(shù)據(jù)合并merge函數(shù)用法詳解
- pandas中merge()函數(shù)的用法解讀
- Python?Pandas數(shù)據(jù)合并pd.merge用法詳解
- pandas中DataFrame數(shù)據(jù)合并連接(merge、join、concat)
- Pandas 連接合并函數(shù)merge()詳解
- 詳解Python3 pandas.merge用法
- pandas dataframe的合并實現(xiàn)(append, merge, concat)
- 在Pandas中DataFrame數(shù)據(jù)合并,連接(concat,merge,join)的實例
- pandas中merge函數(shù)的用法
相關(guān)文章
pandas.DataFrame.from_dict直接從字典構(gòu)建DataFrame的方法
本文主要介紹了pandas.DataFrame.from_dict直接從字典構(gòu)建DataFrame的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
python在前端頁面使用?MySQLdb?連接數(shù)據(jù)
這篇文章主要介紹了MySQLdb?連接數(shù)據(jù)的使用,文章主要介紹的相關(guān)內(nèi)容又插入數(shù)據(jù),刪除數(shù)據(jù),更新數(shù)據(jù),搜索數(shù)據(jù),需要的小伙伴可以參考一下2022-03-03
使用python和opencv的mask實現(xiàn)摳圖疊加
這篇文章主要介紹了使用python和opencv的mask實現(xiàn)摳圖疊加操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04

