今天接到一个需求,要求对数据错位相减。感觉写得有点麻烦,如果有其他方法,欢迎留言交流

数据说明:有客户、消费日期、消费额度

求解目标:对于同一个客户,对日期升序排序,如果下一个日期的消费额度大于上一个日期的消费额度,则标记,最终取出第一次发生时对应的较大的日期

最简单的方法是使用 pandas.Series.shift 具体可参考官方文档

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.shift.html

import pandas as pd
import numpy as npdf = pd.DataFrame({'persion':['A','A','A','A','B','B','B','B','B', 'C' ,'D','D','D'], 'date':[0, 1, 6,  4, 1, 7, 4, 5, 6, 3, 1, 2, 3], 'price':[1, 5, 3, 0, 2, 4, 5, 8, 3, 5, 7, 7, 7 ]})# 组内排序
df['sort_id'] = df['date'].groupby(df['persion']).rank()
df.sort_values(by = ['persion', 'sort_id'], axis=0, inplace=True)
df['price_y'] = df["price"].shift(1)

问题很简单,解决的朋友请点赞
----------------分享完毕------------------------
Address:北京
Date:202001009
喜欢可以关注【小猪课堂】公众号了解更多内容

【Python数据清洗】python 错位相减,同一行(列)的错位相相减shift()相关推荐

  1. python 数据错位相减,上下两行相减

    今天接到一个需求,要求对数据错位相减.感觉写得有点麻烦,如果有其他方法,欢迎留言交流 数据说明:有客户.消费日期.消费额度 求解目标:对于同一个客户,对日期升序排序,如果下一个日期的消费额度大于上一个 ...

  2. python 去除字符串的标点符号 用_7步搞定数据清洗-Python数据清洗指南

    脏数据就是在物理上临时存在过,但在逻辑上不存在的数据. 数据清洗是整个数据分析过程的第一步,就像做一道菜之前需要先择菜洗菜一样. 数据分析师经常需要花费大量的时间来清洗数据或者转换格式,这个工作甚至会 ...

  3. 数据清洗(二):python数据清洗

    python数据清洗 Pandas数据清洗流程: 1.数据的读写:read_csv.read_excel.to_csv to_excel 2.数据的探索与描述:info.head.describe.s ...

  4. chatgpt赋能Python-pandas_错位相减

    Pandas:错位相减的重要性 如果你使用pandas进行数据处理,在一些数据分析的场景中你必须要逐行遍历并做一些数学计算,譬如你想要计算数据集中的同一列中相邻行之间的差异或"错位相减&qu ...

  5. python从入门到放弃系列恶搞短片-太惨!学Python方法用错,直接从入门到放弃!...

    原标题:太惨!学Python方法用错,直接从入门到放弃! 从你开始学习编程的那一刻起,就注定了以后所要走的路-从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在 ...

  6. 【错误记录】PyCharm 运行 Python 程序报错 ( UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe5 in positio )

    文章目录 一.报错信息 二.解决方案 一.报错信息 PyCharm 运行 Python 程序报错 : D:\002_Project\011_Python\APK\venv\Scripts\python ...

  7. [转载] python缩进报错_python缩进报错

    参考链接: Python语句,缩进和注释 广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 学习 python 与其他语言最大的区 ...

  8. Python数据清洗:数据框列名大小写转换

    Python数据清洗:数据框列名大小写转换 Dataframe数据清洗:列名大小写转换 一行代码 Dataframe数据清洗:列名大小写转换 数据清洗:列名的大小写转换(便于merge数据框) 一行代 ...

  9. python快速编辑入门答案_太惨!学Python方法用错,直接从入门到放弃!

    原标题:太惨!学Python方法用错,直接从入门到放弃! 从你开始学习编程的那一刻起,就注定了以后所要走的路-从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在 ...

最新文章

  1. 大型网站技术架构(七)网站的可扩展性架构
  2. gensim models.word2vec – Word2vec embeddings API
  3. Wince 中如何实现注册表恢复原厂设置
  4. ubuntu docker用mount或volume与windows共享文件(samba)(设置共享ip地址)
  5. visual tree view在工具箱力没有_Visual-Inertial Odometry
  6. 【Linux】一步一步学Linux——find命令(47)
  7. 诺基亚手机的安全保护。--如何使你的手机丢失,被盗后依然安全。
  8. pandas 批量读取excel_Pandas 批量处理文本表(示例代码)
  9. 星光计划计算机,计算机网络技术专业星光计划选拔赛圆满举行
  10. 中红外传感器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  11. 笔记 黑马程序员C++教程从0到1入门编程——核心编程
  12. 操作WORD文件:使用MSWORD.OLB组件将RichTextBox中的文本保存为WORD格式文件。
  13. android ipad 传视频播放器,三种将本地视频导入到iPad中的方法
  14. easyui treegrid php,JQuery EasyUI TreeGrid控件的使用
  15. Python基础之Flask快速入门2
  16. python 删除pdf页面_Python脚本使用pyPDF删除空白页面
  17. 手机海豚模拟器怎么添加游戏_人偶战斗模拟器2手机版下载,人偶战斗模拟器2手机版安卓游戏 v1.2...
  18. c语言停车场的收费管理系统,c语言停车场管理系统
  19. AP发现AC过程——CAPWAP协议详解
  20. java小应用程序appletviwer查看,不能读取 AppletViewer 的属性文件

热门文章

  1. 我国首个互联网服务标准流量基本指标发布
  2. 零基础如何学习项目管理?
  3. 数据观察:起底斗鱼各项数据高分领先的内在动因
  4. 李一男加盟百度的幕后故事
  5. 信息论:熵、相对熵、互信息、链式法则
  6. git提交全流程 / 提交之后git仓库没显示
  7. java 反斜杠_java反斜杠\的用法 | 学步园
  8. JavaWeb常用工具/插件合集——validation和iCheck
  9. Cobbler——自动装机(内含详细操作过程)
  10. 开发传感器应用的步骤