1. 程式人生 > >Pandas對兩個集合進行資料加法運算併合並

Pandas對兩個集合進行資料加法運算併合並

大致背景介紹:

兩個dataframe物件df1和df2,這兩個物件行與列均存在交集,現在想將df1+df2得到df3,期望包含df1和df2中所有行與列,在合併過程中如果行列相同的位置,兩個數值相加存放到df3中,擦了~這樣文字描述起來好繞腦的感覺,還是畫個圖大概解釋一下吧:


期望df3的結果:


程式碼上起來:

import pandas as pd
df1=pd.read_csv("D:/snp/test/df1.csv",encoding="gb2312",index_col=0)
df2=pd.read_csv("D:/snp/test/df2.csv",encoding="gb2312",index_col=0)
#注意這裡在載入csv的時候直接定義了index_col=0即將csv檔案中第一列作為索引列,這一步很重要,否則後面進行add計算的時候會把程式碼一塊給計算了
df3=df1.add(df2,fill_value=0)   #fill_value=0用來定義對空值使用0填充
df3.to_csv("d:/snp/test/df3.csv",encoding="utf-8")

如果是不對兩個表中的資料進行計算的話,應該用merge()或者concat()命令,暫時沒有這個需求,以後用到了再翻文件吧

參考這篇文章總結的不錯: