python - DataFrame 中的累积除法

标签 python pandas dataframe

我正在尝试寻找一种方法来为我的数据框实现“累积除法”功能。由于只有cumsum、cummax等,而没有“cumdiv”,有没有办法手动制作一个“累积除法”函数?

我看到这个问题divide value of next row and create column in dataframe但这对我不起作用。结果列中所有行的值为 1。

我应该注意到,我链接的问题的接受答案与我想要的结果类似,只是不是将底部索引除以上部索引,而是相反,其中底部索引除以上部索引。这将持续到索引结束。

    Median ($)
Year    
2009    2792
2010    2991
2011    3121
2012    3232
2013    3204
2014    3339
2015    3419
2016    3470
2017    3537
2018    3588

我试图将 2009 年的工资中位数除以随后几年的工资。因此,2009 年的工资除以 2010 年,百分比显示在新列中。 2011 年会重复这种情况,依此类推。

希望我能拍出更清晰的图片。

最佳答案

你可以这样做:

df['Median ($)'].divide(df.Median.iloc[0])

这给出了

Year
2009    1.000000
2010    1.071275
2011    1.117837
2012    1.157593
2013    1.147564
2014    1.195917
2015    1.224570
2016    1.242837
2017    1.266834
2018    1.285100
Name: Median, dtype: float64

现在一切都与格式化有关,即您可以减去 1 并乘以 100 等。取决于具体任务

关于python - DataFrame 中的累积除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57815679/

相关文章:

python - 计算从年/月开始到今天的天数

python - 模块 'pandas' 没有属性 'rolling_mean'

python - 如何解析 df 中的 json 列,我们使用选定的键附加新列

python - 有条件地替换 NaN

python - 如何为 python2.7 安装 pylint?

python - python中具有多个键的字典

python-3.x - pandas_datareader 无法在 jupyter-notebook (Anaconda) 中工作

python - Pandas 数据框 : Count unique words in a column and return count in another column

python - 实例化时如何引用传递给我的类的对象?

python - 全连接层大小