【问题标题】:How can I calculate the evolution of turnover in Python?如何计算 Python 中营业额的演变?
【发布时间】:2020-06-30 14:38:53
【问题描述】:

我无法共享我的数据集,因为它对我实习所在的公司来说是私有的。 所以我的数据集包含 3 列和大约 11 209 000 行:

  1. Id:一堆 id,其中许多是重复的。
  2. 日期:2018、2017、2016、2015?
  3. 营业额。

我有一个我想计算的公式:Formu = [turnover[date 1] aka 最近的一个/营业额[date2] aka 上一个] - 1

但是我在计算它时遇到了一些问题,特别是因为我不知道如何设法同时改变 id 和 date。 (而且因为我有大量的行..) 谢谢!

【问题讨论】:

  • 更精确地了解您的公式,您想要的预期数据集是什么?
  • 我想要另一列显示每个 Id 营业额的演变
  • 营业额是float还是int值?
  • 这是一个浮点值

标签: python pandas dataset


【解决方案1】:

如果我理解正确,您想计算给定行与之前行之间的差异。

如果行是按时间顺序排列的,可以在按id分组后使用.diff()method

df['difference'] = df.groupby("id").turnover.diff()

【讨论】:

  • 也许可以在确定之前按“日期”降序排序
  • 我在公式中犯了一个错误,它不是减号而是 '/' 然后减去 1
  • 对于百分比更改,您可以改用.pct_change() method。我想这就是你所追求的(?)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多