2024-04-19 04:49:11 发布
网友
嗨,我正在尝试用python复制一个相当简单的excel公式,但失败了。这是我的数据帧的屏幕截图和我试图执行的F列中的计算:
基本上,对于每个'activum'代码,我想用cumprod值除以1997年的值,然后将结果放入dataframe的新列中。在
在excel中,我会通过用$符号锁定单元格来实现这一点,但考虑到我的数据帧有数千行长,并且有许多activum和其他组变量的组合,我希望用python编写这个代码。在
使用由^{}与{a3}一起创建的新Series,并按{a4}筛选:
Series
df = pd.DataFrame({ 'statisticsjaar': [1995, 1996, 1997] * 2, 'activum_statline':['A02'] * 3 + ['A04'] * 3, 'cumprod':[7,8,9,4,2,3], }) s = df[df['statisticsjaar'] == 1997].set_index('activum_statline')['cumprod'] print (s) activum_statline A02 9 A04 3 Name: cumprod, dtype: int64 df['new'] = df['cumprod'].div(df['activum_statline'].map(s)) print (df) statisticsjaar activum_statline cumprod new 0 1995 A02 7 0.777778 1 1996 A02 8 0.888889 2 1997 A02 9 1.000000 3 1995 A04 4 1.333333 4 1996 A04 2 0.666667 5 1997 A04 3 1.000000
如果多个列需要join:
join
使用由^{} 与{a3}一起创建的新
Series
,并按{a4}筛选:如果多个列需要
^{pr2}$join
:相关问题 更多 >
编程相关推荐