python - 如何在 Pandas 中仅保留每个订单的最新修改订单

标签 python python-2.7 pandas dataframe

假设我有一个数据框,用于跟踪订单号以及该订单的修订号,位于两个不同的列中,如下所示:

OrderNum  RevNum  TotalPrice
 0AXL3     0       $5.00
 0AXL3     1       $4.00
 0AXL3     2       $7.00
 0AXL3     3       $8.00
 0BDF1     0       $3.00
 0BDF1     1       $2.50
 0BDF1     2       $8.50

我们想要的结果是一个新的数据框,其中仅包含每个订单的最新版本,因此:

OrderNum  RevNum  TotalPrice
 0AXL3     3       $8.00
 0BDF1     2       $8.50

有没有一种快速的方法可以在 pandas 中做到这一点?

最佳答案

IIUC:

In [100]: df.groupby('OrderNum', as_index=False).last()
Out[100]:
  OrderNum  RevNum TotalPrice
0    0AXL3       3      $8.00
1    0BDF1       2      $8.50

更新:

If there were other columns in the data frame, would this keep those as well?

In [116]: df['new'] = np.arange(len(df))

In [117]: df
Out[117]:
  OrderNum  RevNum TotalPrice  new
0    0AXL3       0      $5.00    0
1    0AXL3       1      $4.00    1
2    0AXL3       2      $7.00    2
3    0AXL3       3      $8.00    3
4    0BDF1       0      $3.00    4
5    0BDF1       1      $2.50    5
6    0BDF1       2      $8.50    6

In [118]: df.groupby('OrderNum', as_index=False).last()
Out[118]:
  OrderNum  RevNum TotalPrice  new
0    0AXL3       3      $8.00    3
1    0BDF1       2      $8.50    6

关于python - 如何在 Pandas 中仅保留每个订单的最新修改订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48216128/

相关文章:

python - 从 Pandas 数据框中过滤数据

python - 将常量列表添加到 pandas 列

Python正则表达式解析并放入多维列表

python - Django Rest Framework 文档中不显示具有多个方法的多个嵌套资源

Python计算每一行的MSE

python - 将混合数据类型的元组列表转换为所有字符串

python - 当我有两个版本的 python 时,如何在 PyCharm 中更新 pip?

确保 python 2 和 3 中的 unicode 的 Pythonic 方法

带有 Selenium 的 Python 脚本在手动关闭应用程序时使 firefox.exe 运行

python - Pycharm:导入 ssl 模块时出现问题