我試圖總結所有value
其中date1
匹配date2
爲我的數據框中的每一行,這是類似於此question。基於另一個DataFrame列值的條件總和
id value date1 date2 sum
A 150 4/8/2014 3/8/2014 nan
B 100 5/8/2014 2/8/2014 nan
B 200 7/8/2014 5/8/2014 100
A 200 4/8/2014 3/8/2014 nan
A 300 6/8/2014 4/8/2014 350
我試過以下,但繼續得到「長度必須匹配比較」錯誤。
grp = df.groupby('id')
df['sum'] = grp.apply(lambda x: x[x['date1'] == df['date2'].values]['value'].sum())
希望有任何建議!
問題是:'X [ 'DATE1' ] == df ['date2']',系列有不同的長度。 – jezrael
IIUC不會給你你想要的東西:'df1 = df.set_index('id') df1.loc [df1 ['date1']。isin(df1 ['date2']),'value']的.sum(級別= 0)'? – EdChum