我有两个 Dataframe 。一个有1-5个月和每个月的值,它们对于任何ID都是相同的,另一个有ID和唯一乘数,例如:
data = [['m', 10], ['a', 15], ['c', 14]]
# Create the pandas DataFrame
df = pd.DataFrame(data, columns=['ID', 'Unique'])
data2=[[1,0.2],[2,0.3],[3,0.01],[4,0.5],[5,0.04]]
df2 = pd.DataFrame(data2, columns=['Month', 'Value'])
我想做sum(value /(1+unique)^(Month/12))。例如,对于ID m,我想对df 2中的每一行做(value/(1+10)^(Month/12)),并对它们求和。我写了一个for循环来做这件事,但由于我的真实的表有277,000个条目,这花费了太长的时间!
df['baseTotal']=0
for i in df.index.unique():
for i in df2.Month.unique():
df['base']= df2['Value']/pow(1+df.loc[i,'Unique'],df2['Month']/12.0)
df['baseTotal']=df['baseTotal']+df['base']
有没有更有效的方法来做到这一点?
1条答案
按热度按时间wgx48brx1#