python - pandas 找到与 df 中的前一行具有相同值的最后一行

标签 python python-3.x pandas dataframe

我有一个df

acct_no    code    date           id
100        10      01/04/2019     22
100        10      01/03/2019     22
100        10      01/05/2019     22
200        20      01/06/2019     33
200        20      01/05/2019     33
200        20      01/07/2019     33

acct_nocode 相同时,我想首先按 date 的升序对 df 进行排序,

df.sort_values(['acct_no', 'code', 'date'], inplace=True)

然后我想知道如何找到最后一行,其acct_nocode与前一行相同,结果需要看起来像,

  acct_no    code    date           id
  100        10      01/05/2019     22
  200        20      01/07/2019     33

最佳答案

您也可以尝试使用 groupby.last() :

df.groupby(['acct_no', 'code'],as_index=False).last()

   acct_no  code        date  id
0      100    10  01/05/2019  22
1      200    20  01/07/2019  33

关于python - pandas 找到与 df 中的前一行具有相同值的最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57326029/

相关文章:

javascript - 将 pandas 数据帧转换为自定义 JSON 格式(然后转换为 JS 对象)

python - Pandas:如果字符串列表中不存在,则将其替换为 'other'

python - 更改列表python中多个项目的值

python - Python 中的 NameError - 不确定是类还是函数导致了错误

python-3.x - 返回所有 NaN 的 Python- ARIMA 预测

python - patch() 得到了意外的关键字参数

python - 在 pandas 中用 group by 取最后 n 个元素的平均值

python - 条件搜索返回一维数组的数组元组?

python - 用于多维自定义操作的 Tensorflow 自定义渐变

python - 如何制作分割窗口?