2017-07-25 64 views
0

我已經嘗試過不同的解決方案,其中類似的問題在哪裏作出,但沒有得到預期的結果,迄今爲止。Python熊貓相當於Excel Countif

我有兩個數據幀,df1df2,其中兩個都包含名爲'fb rq id'的列。

我們還有更多的線df2df1,我要檢查其值從df2['fb rq id']df1['fb rq id'],它多少次出現在那裏,用的次數在該行創建於df2列中的值在df1

如果你知道如何創建一個只有二進制信息的列012her是df1['fb rq id'],這也有幫助。

謝謝!

+1

「*如果你知道如何創建閹DF2只是二進制信息的列。[ 'FB RQ ID']在DF1 [ 'FB RQ ID'],這也有助於。*」 這是' df2 ['id']。isin(df1 ['id'])',如果你在末尾加上'.sum()',你會得到總次數。 – ayhan

+0

或'df1 ['rb rq id'] .value_counts()[df2 ['rb rq id']]'在某些情況下可能更有效。 –

+1

@YakymPirozhenko不會在df2中引發KeyError的值,但不會引發df1中的值? – ayhan

回答

1

這個怎麼樣?

df2['count_from_df1'] = [list(df1['fb rq id']).count(id) 
         if id in df1['fb rq id'] else 0 
         for id in df2['fb rq id']]