我试图总结所有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