首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据分析』pandas计算连续行为天数几种思路

类似需求在去年笔者刚接触pandas时候也做过《利用Python统计连续登录N或以上用户》,这里我们可以用同样方法进行实现。...图1:案例数据 以上图中数据来算,我们可以看到从1月21日-1月26日空气质量连续污染持续了6。 不过,在实际数据处理中,我们原始数据往往会较大,并不一定能直接看出来。...图2:akshare数据预览 由于我们只需要用到aqi,并按照国际标准进行优良与污染定级,这里简单做下数据处理如下:(后台直接回复0427获取数据是处理后数据哈) import pandas as...图3:处理后数据 2. 求连续污染持续天数 结合上次《利用Python统计连续登录N或以上用户》案例,我们这里再提供1种新解题思路,合计2种解题思路。 以下解法来自小明哥和才哥 2.1....图10:思路2解法2小明哥结果 以上就是本次全部内容,其实我们在日常工作生活中还可能遇到类似场景如:计算用户连续登录天数、计算用户连续付费天数、计算南方梅雨季节连续下雨天数等等!

7.1K11

精品课 - Python 数据分析

课程内容 本次课程一共 16 节,每节 90 分钟: 2 节讲用于数组计算 NumPy 2 节讲用于数据分析 Pandas 2 节讲用于科学计算 SciPy ?...对于数据结构,无非从“创建-存载-获取-操作”这条主干线去学习,当然面向具体 NumPy 数组和 Pandas 数据时,主干线上会加东西。...很多资料都从它表象开始教,比如一维、二维、多维数组长什么样子。但这都不是本质,NumPy 数组本质是“计算机内存连续一维段 (1D segment),并与若干个指针一起来在视图中展示高维度”。...DataFrame 数据可以看成是 数据 = 二维数组 + 行索引 + 列索引 在 Pandas 里出戏就是行索引和列索引,它们 可基于位置 (at, loc),可基于标签 (iat...插值:计算远期利率 积分:计算期权价值 优化:最大化效用 PDE:有限分 - 完全显式、完全隐式和克莱克尼克尔森 回归:CAPM, FF 3 因子, FF 5 因子 总体内容用思维导图来表示。 ?

3.3K40
您找到你想要的搜索结果了吗?
是的
没有找到

一场pandas与SQL巅峰大战(四)

具体来讲,第一篇文章一场pandas与SQL巅峰大战涉及到数据查看,去重计数,条件选择,合并连接,分组排序等操作。...思路一:自关联,关联条件是日期分别是1和7,分别求出当天,昨天,7数据,用三列形式展示,之后就可以进行作和相除求得百分比。...思路二:不进行关联,直接查询当前日期前一和前七数据,同样以3列形式展示。 来看一下SQL代码: ? 上面代码中我们关联了两次,条件分别是日期相差1和日期相差7。关联不上则留空。...这种写法巧妙地使用别名查询出了前1和前7金额,效果和第一种写法一样,不过这种写法可能小众一点。...至此,我们完成了SQL和pandas中对于周同比和日环比计算过程。 ◆ ◆ ◆ ◆ ◆ 小结 本篇文章中,我们使用SQL和pandas多种方法对常见周同比和日环比进行计算

1.8K10

Pandas

Pandas 1.Pandas介绍 1.1Pandas与Numpy不同? 答:Numpy是一个科学计算库,用于计算,提高计算效率。...Pandas是专门用于数据挖掘开源python库,也可用于数据分析。Pandas以Numpy为基础,借力Numpy模块在计算方面性能高优势;同时基于matplotlib,能够简便画图。...# major_axis - axis 1,它是每个数据(DataFrame)索引(行)。 # minor_axis - axis 2,它是每个数据(DataFrame)列。..., value=np.nan) 7.高级处理-数据离散化 7.1为什么要离散化? 答:连续属性离散化目的是为了简化数据结构,数据离散化技术可以用来减少给定连续属性值个数。...离散化方法经常作为数据挖掘工具。 7.2什么是数据离散化? 答:连续属性离散化就是在连续属性值域上,将值域划分为若干个离散区间,最后用不同符号或整数值代表落在每个子区间中属性值。

4.9K40

利用Python统计连续登录N或以上用户

在有些时候,我们需要统计连续登录N或以上用户,这里采用python通过分组排序、分组计数等步骤实现该功能,具体如下: 导入需要库 import pandas as pd import numpy as...第二步,数据预处理 数据预处理方面我们需要做工作有三部分 时间只取日期,去掉时间部分 我们使用info方法可以发现,时间字段格式是object,并非时间格式 ?...删除日志里重复数据(同一玩家可以登录多次,故而只需要保留一条即可) 我们看到上面处理过数据,可以发现role_id为570837202用户在1月8日存在多条记录,为方便后续计算,这里需要进行去重处理...第四步,计算差值 这一步是辅助操作,使用第三步中辅助列与用户登录日期做差值得到一个日期,若某用户某几列该值相同,则代表这几天属于连续登录 因为辅助列是float型,我们在做时间时候需要用到to_timedelta...补充 当我们计算出每个用户在周期内每个连续登录天数后,想计算连续登录N或以上玩家清单就非常方便了,条件筛选即可。 同时,也可以自由计算连续登录最大天数 各玩家数等等。

3.2K30

手把手教你使用Pandas从Excel文件中提取满足条件数据并生成新文件(附源码)

2.xlsx') 方法二:把日期中分秒替换为0 import pandas as pd excel_filename = '数据.xlsx' df = pd.read_excel(excel_filename...2.xlsx') 方法五:对日期时间进行重新格式,并按照新日期时间删除 import pandas as pd excel_filename = '数据.xlsx' df = pd.read_excel...本来【瑜亮老师】还想用ceil向上取整试试,结果发现不对,整点会因为向上取整而导致数据缺失,比如8:15,向上取整就是9点,如果同一中刚好9:00也有一条数据,那么这个9点数据就会作为重复数据而删除...方法六:使用openpyxl处理 这里我本来还想用openpyxl进行实现,但是却卡壳了,只能提取出24条数据出来,先放这里做个记录吧,哪天突然间灵光了,再补充好了。...这篇文章主要分享了使用Pandas从Excel文件中提取满足条件数据并生成新文件干货内容,文中提供了5个方法,行之有效。

3.2K50

Pandas 秘籍:1~5

这导致有可能连续调用其他方法,这被称为方法链接。 序列和数据索引组件是将 Pandas 与其他大多数数据分析库区分开组件,并且是了解执行多少操作关键。...通过名称选择列是 Pandas 数据索引运算符默认行为。 步骤 3 根据类型(离散或连续)以及它们数据相似程度,将所有列名称整齐地组织到单独列表中。...在 Pandas 中,这几乎总是一个数据,序列或标量值。 准备 在此秘籍中,我们计算移动数据集每一列中所有缺失值。...我们首先创建布尔序列并计算它们统计量,然后继续创建更复杂条件,然后以多种方式使用布尔索引来过滤数据计算布尔统计量 首次引入布尔序列时,计算有关它们基本摘要统计信息可能会很有帮助。...我们现在将计算均值介于 1、2 和 3 个标准之间每日收益百分比。

37.2K10

数据导入与预处理-拓展-pandas时间数据处理01

数据导入与预处理-拓展-pandas时间数据处理01 Pandas时序数据系列博客 Pandas时间序列数据处理 1.好用Python库 2.Pandas历史 3.时序数据处理 3.1 时序中基本对象...第二,会出现时间(Time deltas)概念,即上课需要时间,两个Timestamp做就得到了时间pandas中利用Timedelta来表示。...再例如,想要知道2020年9月7日后第30个工作日是哪一,那么时间就解决不了你问题,从而pandasDateOffset就出现了。...中,时间戳最小精度为纳秒ns,由于使用了64位存储,可以表示时间范围大约可以如下计算: \rm Time\,Range = \frac{2^{64}}{10^9\times 60\times 60...时间戳切片和索引 一般而言,时间戳序列作为索引使用。如果想要选出某个子时间戳序列,第一类方法是利用dt对象和布尔条件联合使用,另一种方式是利用切片,后者常用于连续时间戳。

6.5K10

python用支持向量机回归(SVR)模型分析用电量预测电力消费|附代码数据

尽可能简单地说,支持向量机找到了划分两组数据最佳直线或平面,或者在回归情况下,找到了在容范围内描述趋势最佳路径。 对于分类,该算法最大限度地减少了对数据进行错误分类风险。...对于回归,该算法使回归模型在某个可接受范围内没有获得数据风险最小化。...:一周中,小时 在这种情况下,一每个小时是一个分类变量,而不是连续变量。...# 分成训练集和测试集(仍在Pandas数据中)。 xtrain = elec_and_weather[train_start:train_end]。...# 使用SVR模型来计算预测下一小时使用量  SVRpredict(X_test_scaled) # 把它放在Pandas数据框架中,以便于使用 DataFrame(predict_y) 绘制测试期间实际和预测电力需求时间序列

1.7K10

Landsat系列卫星全球参考系统,指定PATH和ROW编号详细介绍

全球参考系统(WRS)是陆地卫星数据一个全球符号系统。它使用户能够通过指定一个由PATH和ROW号码指定名义场景中心来查询世界上任何部分卫星图像。...当卫星沿着它路径移动时,观测站仪器不断地扫描下面的地形。仪器信号被传送到地球上,并与遥测星历数据相关联,以形成单个框架图像。在这个过程中,连续数据被分割成单独数据,称为场景。...Landsats 1-3轨道参数导致每个连续日轨道在赤道上向西移动25.8度经度,相当于2872公里(1784英里)。Landsat 1-3每一覆盖都与前一覆盖相重叠。...这构成了一个完整覆盖周期,由251个轨道组成,正好需要18,提供了北纬82度和南纬82度之间完整全球覆盖。连续侧移导致了在赤道上最低14%,在极端纬度上接近85%。...个行间隔。

19910

Pandas实战案例 | 冷空气活动寒潮级别分类

作者:小小明 Pandas数据处理专家,帮助无数用户解决过数据处理难题。...大家好,今天介绍来自盆友小明大佬Pandas神级操作,如何把基础函数groupby和diff方法通过复杂而清晰逻辑去解决令人头大需求,优雅~ 目录: 需求分析 读取数据 拿一个分组进行测试 获取满足寒潮定义条件对应数据...数据输入和输出格式: ? 统计口径确认: ? 我一开始不理解,24小时内降温幅度大于8度如何计算,与需求方确认后,可以通过2日温度之差来计算。...上图极端情况显示,三大满足条件id可能出现重复情况,所以我使用了set这个无序不重复集合来保存id: cold_wave_idxs = set() # 获取2内降温幅度超过8对应数据id ids...上述结果就是从站码为'e332'分组中计算出满足寒潮定义对应数据id。

65030

一场pandas与SQL巅峰大战(六)

具体来讲,第一篇文章一场pandas与SQL巅峰大战涉及到数据查看,去重计数,条件选择,合并连接,分组排序等操作。...pandas中直接使用read_csv方式读取即可,可以参考后面的代码。 日活计算 这里我们约定日活是指每天登录user_id去重数,从我们数据来看,计算方式非常简单。 ?...多日留存计算 上面自连接方法固然可行,但是如果要同时计算次日,7日,14日留存,还需要在此基础上进行关联两次,关联条件分别为日期为6和13。读者可以试试写一下代码。...,可以算出相应留存用户数,第一活跃用户也可以看作是日期为0时情况。...3.合并前面的两个数据使用uid和dt_ts 关联,dt_ts_1是当前日期减一,左边是第一活跃用户,右边是第二活跃用户 merge_1 = pd.merge(login_data, data

1.8K11

气象编程 |Pandas处理时序数据

时间序列分析目的是通过找出样本内时间序列统计特性和发展规律性,构建时间序列模型,进行样本外预测。 现在,一起来学习用Pandas处理时序数据。 ? 本文目录 1....DateOffset对象 (a)DataOffset与Timedelta区别 Timedelta绝对时间特点指无论是冬令时还是夏令时,增减1day都只计算24小时 DataOffset相对时间指...(b)计算除去春节、国庆、五一节假日月度销售总额 ? (c)按季度计算周末(周六和周日)销量总额 ? ? (d)从最后一开始算起,跳过周六和周一,以5为一个时间单位向前计算销售总和 ? ?...【练习二】 继续使用上一题数据,请完成下列问题: (a)以50为窗口计算滑窗均值和滑窗最大值(min_periods设为1) ?...(b)现在有如下规则:若当天销售额超过向前5均值,则记为1,否则记为0,请给出2018年相应计算结果 ? (c)将(c)中“向前5”改为“向前非周末5”,请再次计算结果 ?

4.2K51

Pandas处理时序数据(初学者必会)!

时序数据可以是时期数,也可以时点数。 时间序列分析目的是通过找出样本内时间序列统计特性和发展规律性,构建时间序列模型,进行样本外预测。 现在,一起来学习用Pandas处理时序数据。 ?...DateOffset对象 (a)DataOffset与Timedelta区别 Timedelta绝对时间特点指无论是冬令时还是夏令时,增减1day都只计算24小时 DataOffset相对时间指...(b)计算除去春节、国庆、五一节假日月度销售总额 ? (c)按季度计算周末(周六和周日)销量总额 ? ? (d)从最后一开始算起,跳过周六和周一,以5为一个时间单位向前计算销售总和 ? ?...【练习二】 继续使用上一题数据,请完成下列问题: (a)以50为窗口计算滑窗均值和滑窗最大值(min_periods设为1) ?...(b)现在有如下规则:若当天销售额超过向前5均值,则记为1,否则记为0,请给出2018年相应计算结果 ? (c)将(c)中“向前5”改为“向前非周末5”,请再次计算结果 ?

3K30

精选100个Pandas函数

精选100个Pandas函数 精心整理100个pandas常用函数,建议收藏~ a aggregate() #聚合;基于内置函数或者自定义函数聚合运算 argmin() 最小值所在索引 argmax...corr() # 计算相关系数 cumsum() 累计和 cumprod() 累计积 compress 条件判断 concat() # 数据合并 d dtypes() 查看数据字段类型...是否为当月最后裔 dt.is_quarter_start() 是否为季度第一 dt.is_quarter_end() 是否为季度最后一 dt.is_year_start() 是否为当年第一...() # 读取table文件 rank() # 排名 s sum() 求和 size() 计数(包含所有数据,包含空值) std() 计算标准 skew() 计算偏度 sample()...value_counts() # 统计每个元素值 w where() # 基于条件判断值替换

21530

复购分析实战 | Pandas遇到了大难题..(附40000+数据源和代码)

各种眼花缭乱复购计算方法,及其延伸复购分析体系,以后会详细展开讲解。这次,我们先以一种计算逻辑切入,搞清楚如何用Pandas计算客户复购率。...这种计算方式很容易受到特定活动和特殊产品影响: 比如品牌在活动期连续搞大型秒杀活动,很多客户连续参与购买,这个口径下复购率会大大注水。...顺延下一次购买时间,5月3日和5月1日间隔正好是2,不满足我们大于2算复购定义,也不能算复购。 时间继续朝后推,5月6日和5月1日时间整整有5,这次购买间隔符合复购定义。...记作该客户第一次复购,于是5月6日变成了新锚点,以对比计算后续购买行为时间。...Pandas实战 读取我们案例源数据: ? 时间范围是2020年5月-6月两个月数据,一共40270条,目标是计算两月期复购率。 先对客户ID和付款时间做升序排列,方便后续计算: ?

1.8K10

Pandas 秘籍:6~11

对象 筛选少数人群居多州 转换减肥赌注 计算每个州 SAT 加权平均成绩 按连续变量分组 计算城市之间航班总数 寻找最长准时航班 介绍 数据分析过程中最基本任务之一是在对每个组执行计算之前将数据分成独立组...在某些时候,您将需要编写自己自定义用户定义函数,而这些函数在 pandas 或 NumPy 中不存在。 准备 在此秘籍中,我们使用大学数据集来计算每个州本科生人数均值和标准。...代表一个季度日期范围全部使用此结束日期计算。 汇总结果使用该季度最后一作为标签。 步骤 3 使用偏移别名QS,默认情况下,它使用 1 月 1 日作为一年第一计算季度。...从这里开始,我们再次使用灵活groupby方法按照先前计算year序列来分组,然后使用mean方法来查找每年第 272 或之前犯罪百分比。...query方法在方法链中使用时特别好,因为它可以清晰,简洁地选择给定条件所需数据行。 进入plot方法时,数据中有两列,默认情况下,该方法将为每一列绘制条形图。

33.8K10

特征工程|时间特征构造以及时间序列特征构造

; 星期几; 一年中第几天; 一年中第几个周; 一中哪个时间段:凌晨、早晨、上午、中午、下午、傍晚、晚上、深夜; 一年中哪个季度; 程序实现 import pandas as pd # 构造时间数据...4)扩散值 分布扩散性,如标准、平均绝对偏差或四分位,可以反映测量整体变化趋势。 5)离散系数值 离散系数是策略数据离散程度相对统计量,主要用于比较不同样本数据离散程度。...,多个时间序列数据集构造特征时需要先进行分组再计算。...2)对时间变量进行条件过滤,然后再对其他变量进行聚合操作所产生特征 主要是针对类似交易流水这样数据,从用户角度进行建模时,每个用户都有不定数量数据,因此需要对数据进行聚合操作来为每个用户构造训练特征...而包含时间数据,可以先使用时间进行条件过滤,过滤后再构造聚合特征。 2.

3.2K20
领券