2016-09-07 165 views
1

我有兩個dataframes df1df2,如下所示:循環通過兩個大熊貓dataframes

df1: 

Month Count 
6  314 
6  418 
6  123 
7  432 

df2: 

Month ExpectedValue 
6  324 
7  512 
8  333 

我通過df1df2必須循環。如果df1['Month'] == 6,那麼我必須循環通過df2以獲得第6個月的預期值。然後,我將df1中的字段設置爲df1['ExpectedValue']

輸出這樣如下:

df1: 

Month Count ExpectedValue 
6  314  324 
6  418  324 
6  123  324 
7  432  512 

通過2個dataframes高效的想法循環?任何幫助,將不勝感激。

+0

對不起,應該是512 – user3447653

回答

5

一般而言,除非絕對必要,否則不應循環DataFrame。使用已經優化的內置Pandas函數或使用矢量化方法,您通常會獲得更好的性能。這通常會導致代碼更簡潔。

在這種情況下,你可以使用DataFrame.merge

df1 = df1.merge(df2, how='left', on='Month') 

輸出結果:

Month Count ExpectedValue 
0  6 314   324 
1  6 418   324 
2  6 123   324 
3  7 432   512