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

时间序列 | pandas时间序列基础

很多时间序列是固定频率,也就是说,数据点是根据某种规律定期出现(比如每15秒、每5分钟、每月出现一次)。时间序列也可以是不定期,没有固定时间单位或单位之间偏移量。...、频率以及移动 pandas原生时间序列一般被认为是不规则,也就是说,它们没有固定频率。...如果传入起始或结束日期,那就还得传入一个表示一段时间数字,起始结束日期定义了日期索引严格边界 >>> pd.date_range(start='2012-04-01', periods=20)...BusinessYearnBegin 每年指定月份第一个工作日 有时,虽然起始结束日期带有时间信息,但你希望产生一组被规范化 (normalize)到午夜时间戳。...pandas频率是由一个基础频率(base frequency)一个乘数组成

1.5K30

超全pandas数据分析常用函数总结:上篇

整篇总结,详尽且通俗易懂基础上,我力求使其有很强条理性逻辑性,所以制作了思维导图,对于每一个值得深究函数用法,我也会附上官方链接,方便大家继续深入学习。...文章所有代码都会有讲解注释,绝大部分也都会配有运行结果,这样的话,整篇总结篇幅量自然不小,所以我分成了上下两篇,这里是上篇,下篇在次条。 1....= 'American'] #去掉originAmerican data1 data2=data[(data !...# 默认删除后面出现重复值,即保留第一次出现重复值 输出结果: ?...data['origin'].drop_duplicates(keep='last') # 删除前面出现重复值,即保留最后一次出现重复值 输出结果: ?

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

这个烂大街用户消费分析案例,我用了点不一样pandas技巧

7万数据 下方红框信息,表明4个列没有缺失数据 绿色框,看到 user_id 与 date 类型不对 转换类型逻辑我写在加载数据函数6:使用 pd.to_datetime 把非日期类型字段转为日期...因此,pandas 数据表做了一个方法,快速列出每一列常用统计信息: DataFrame.describe 列出数值类字段统计信息,参数 include='all' ,让统计所有的列 我们特别要关注上图红框列...这里不再展开 ---- 再看看订单金额0情况: 共80笔消费金额0记录 ---- 啰嗦汇总代码 数据分析数据处理操作,大部分集中分组统计,因为需要变换数据颗粒做统计运算。..."每月销售额": "每月消费人数": "每月客单价": 3:多个度量,只需要分别传入即可 "每月平均订单单价": 本次涉及并非一些 pandas 方法,而是使用 pandas 一种模式...更多更详细 pandas 高级应用,请关注我 pandas 专栏,里面会有这些技巧所有详细讲解案例 ---- 最后 你会发现我源码定义了其他度量值,这会在后续更复杂分析时用到,下次就会讲到

1.6K50

动手实战 | 用户行为数据分析

将用户划分为活跃用户其他用户 统计每个用户每个月消费次数 统计每个用户每个月是否消费,消费记录1否则记录0 知识点:DataFrameapplyapplymap区别 applymap:返回...df 将函数做用于DataFrame所有元素(elements) apply:返回Series apply()将一个函数作用于DataFrame每个或者列 #统计每个用户每个月消费次数 user_month_count...否则记录0 # 知识点:DataFrameapplyapplymap区别 # applymap:返回df # 将函数做用于DataFrame所有元素(elements) # apply:返回...Series # apply()将一个函数作用于DataFrame每个或者列 df_purchase = user_month_count.applymap(lambda x:1 if x>=1...: # unreg:观望用户(前两月没买,第三个月才第一次买,则用户前两个月观望用户) # unactive:首月购买后,后序月份没有购买则在没有购买月份该用户非活跃用户 # new:当前月就进行首次购买用户在当前月新用户

1.1K10

时间序列 | 字符串日期相互转换

若读取excel文档时还能保留原本日期时间格式,但有时却差强人意,读取后为字符串格式,尤其是以csv格式存储数据。此时就需要用到字符串转日期格式。 ?...31, 1997 10:45 PM') datetime.datetime(1997, 1, 31, 22, 45) 国际通用格式,日出现在月前面很普遍,传入dayfirst=True即可解决这个...() --转换成DatetimeIndex pandas通常是用于处理成组日期,不管这些日期DataFrame轴索引还是列。...比如说,它会把一些原本不是日期字符串认作是日期(比如"42"会被解析2042年今天)。 NaT(Not a Time)是pandas时间戳数据null值。...在数据处理过程,特别是处理时间序列过程,常常会出现pandas.

6.9K20

电商用户复购实战:图解 pandas 移动函数 shift

老样子,免费包邮送出去5本,参与方式见文末~ ---- 本文主要介绍pandas一个移动函数:shift。最后结合一个具体电商领域中用户复购案例来说明如何使用shift函数。...freq:DateOffset, timedelta, or time rule string,可选参数,默认值None,适用于时间序列。...在这里我们结合一个电商销售数据来感受下shift函数使用。我们有一份客户购买时间数据,现在想统计每位用户今年平均复购周期全部用户平均复购周期。...,df4],axis=1) df5.head(10) # 查看前10 上面的数据框: 时间: 可以看做是我们本次购买时间 时间1:上次购买时间。...每个用户第一次购买时间是不存在上次购买时间,所以显示NaT 8、将NaT数据删除 使用dropna函数来删除缺失值数据 df6 = df5.dropna().reset_index(drop=True

1.8K20

Pandas数据处理3、DataFrame去重函数drop_duplicates()详解

环境 基础函数使用 drop_duplicates函数 subset参数测试 Keep参数测试 全都删掉【keep=False】 留第一次出现【keep='first'】 留最后一次出现【keep...,可是这个数字是怎么推断出来就是很复杂了,我们模型训练可以看到基本上到处都存在着Pandas处理,最基础OpenCV也会有很多Pandas处理,所以我OpenCV写到一般就开始写这个专栏了...keep:有三个可选参数,分别是 first、last、False,默认为 first,表示保留第一次出现重复项,删除其余重复项,last 表示保留最后一次出现重复项,False 则表示删除所有重复项...【keep='first'】 保留第一次出现,后面的都删除。...【keep='last'】 保留最后一次出现,其它都删除。

86830

时间序列重采样pandasresample方法介绍

本文中,我们将深入研究Pandas重新采样关键问题。 为什么重采样很重要? 时间序列数据到达时通常带有可能与所需分析间隔不匹配时间戳。...Pandasresample()方法 resample可以同时操作Pandas SeriesDataFrame对象。它用于执行聚合、转换或时间序列数据下采样上采样等操作。...) # 将日期列设置索引 df.set_index('date', inplace=True) # 使用resample()方法进行重新采样 # 将每日数据转换为每月数据并计算每月总和...时间序列数据分析,上采样下采样是用来操纵数据观测频率技术。...重采样是时间序列数据处理一个关键操作,通过进行重采样可以更好地理解数据趋势模式。 Python,可以使用Pandasresample()方法来执行时间序列重采样。 作者:JI

48330

Pandas透视表及应用

Pandas 透视表概述 数据透视表(Pivot Table)是一种交互式表,可以进行某些计算,如求和与计数等。所进行计算与数据跟数据透视表排列有关。...Pandas pivot_table函数介绍:pandas有两个pivot_table函数 pandas.pivot_table pandas.DataFrame.pivot_table pandas.pivot_table...比 pandas.DataFrame.pivot_table 多了一个参数data,data就是一个dataframe,实际上这两个函数相同 pivot_table参数中最重要四个参数 values... 整体等级分布 报表可视化 从业务角度,将会员数据拆分成线上线下,比较每月线上线下会员运营情况  将“会员来源”字段进行拆解,统计线上线下会员增量  各地区会销比 会销比计算分析会销比作用...,我们要统计每年复购率,所以要先对数据进行订单日期筛选,这里我们定义一个函数  统计2018年01月~2018年12月复购率2018年02月~2019年01月复购率 计算2018年复购率  计算2018

14710

Pandas_Study02

pandas 数据清洗 1. 去除 NaN 值 Pandas各类数据SeriesDataFrame里字段值NaN缺失数据,不代表0而是说没有赋值数据,类似于pythonNone值。...复杂 使用向前 或 向后 填充数据,依旧使用fillna 方法,所谓向前 是指 取出现NaN值前一列或前一数据来填充NaN值,向后同理 # df e 这一列上操作,默认下按操作,向前填充数据...,keep= last first false 等 默认first保留第一次出现重复数据,last同时保留最后一次出现重复数据,false 不保留 使用如上。...接在前一个df 后面 df12 = pd.concat([df1, df2]) 当然,列标标不一定是对应,这个时候两DataFrame未匹配上label或columns下NaN concat...补充: 内连接,对两张有关联表进行内连接操作,结果表会是两张表交集,例如A表B表,如果是A 内连接(inner join)B表,结果表是以A基准,B找寻A匹配,不匹配则舍弃,B内连接A同理

17610

技术解析:如何获取全球疫情历史数据并处理

二、数据处理 首先将存储字典里面的数据保存到dataframe,使用pandas里面的pd.DataFrame()当传进去一个字典形式数据之后可以转换为dataframe⬇️ ?...默认值subset=None表示考虑所有列。 keep='first'表示保留第一次出现重复,是默认值。...keep另外两个取值"last"False,分别表示保留最后一次出现重复去除所有重复。...inplace=True表示直接在原来DataFrame上删除重复项,而默认值False表示生成一个副本 于是我们我们需要根据时间进行去重,也就是每天每个国家保留一条数据,首先把所有时间取出来 ?...这所以我们pandas中进行处理,将缺失值填充0,这样就搞定了。 ?

1.6K10

软件测试|数据处理神器pandas教程(十一)

前言 “去重”通过字面意思不难理解,就是删除重复数据。一个数据集中,找出重复数据删并将其删除,最终保存一个唯一存在数据项,这就是数据去重整个过程。...keep:有三个可选参数,分别是 first、last、False,默认为 first,表示保留第一次出现重复项,删除其余重复项,last 表示保留最后一次出现重复项,False 则表示删除所有重复项...: A B C D 0 1 0 4 1 1 0 2 0 0 2 1 5 4 1 3 1 0 4 1 默认保留第一次出现重复项 import pandas as pd data={ '...A':[1,0,1,1], 'B':[0,2,5,0], 'C':[4,0,4,4], 'D':[1,0,1,1] } df=pd.DataFrame(data=data) #默认保留第一次出现重复项...(data=data) #默认保留第一次出现重复项 df.drop_duplicates(keep=False) -------------------------- 输出结果如下: A B C

49620

Pandas DateTime 超强总结

患者健康指标、股票价格变化、天气记录、经济指标、服务器、网络、传感器应用程序性能监控都是时间序列数据应用方向 我们可以将时间序列数据定义不同时间间隔获得并按时间顺序排列数据点集合 Pandas...基本上是分析金融时间序列数据而开发,并为处理时间、日期时间序列数据提供了一整套全面的框架 今天我们来讨论 Pandas 处理日期时间多个方面,具体包含如下内容: Timestamp ...每个 DataFrame 代表服务器基本性能指标,包括特定时间戳 CPU 利用率、可用内存和会话计数。DataFrame 分解一小时片段。...pandas to_datetime() 方法将存储 DataFrame日期/时间值转换为 DateTime 对象。将日期/时间值作为 DateTime 对象使操作它们变得更加容易。...为此,我们首先需要过滤 DataFrame 中服务器 ID 100 ,然后将每小时数据重新采样每日数据。

5.4K20

pandas 重复数据处理大全(附代码)

比如按照姓名进行查重subset=['name'],那么具有相同名字的人就只会保留一个,但很可能只是重名原因,而并非真正同一个人,所以可以按照姓名出生日期两列查重,subset=['name','birthday...first:除第一次出现重复值,其他都标记为True last:除最后一次出现重复值,其他都标记为True False:所有重复值都标记为True 实例: import pandas as pd import...同样可以设置first、last、False first:保留第一次出现重复,删除其他重复 last:保留最后一次出现重复,删除其他重复 False:删除所有重复 inplace:布尔值,...,保留最后一个重复。...比如上面例子,如果要对userprice去重,那么比较严谨做法是按照userprice进行排序。

2.2K20

pandas入门3-2:识别异常值以及lambda 函数

Daily ['Outlier'] - 一个布尔值(True或False),让我们知道CustomerCount列值是否可接受范围内。 将使用transform属性而不是apply。...我们留下了一个由StateStatusDate索引数据集。Outlier列False表示该记录不是异常值。...,2009年1月份,最大客户数901.如果我们使用了apply,我们将得到一个数据框(年份月份)作为索引,只有Max列值901。...通过选择频率A或年度,我们将能够利用data_range获得三个目标日期。...如果还需要预测明年客户数量,可以通过几个简单步骤来实现。首先按年度对组合dataframe进行分组,并将该年度最大客户数量放在一起。这样的话,每一表示一年数据。

93510

交通-地铁客流量python时间序列预测

从题目要求可知,我们所需要输出预测结果只有“日期”,“TRADE_ADDRESS(刷卡地点编号)”“预测客流量”三种数据。这意味着很多所给字段可能是无用。...客流量并没有出现在字段,由题目要求得知,每个站点日客流量是交易类型21,22之和,因此客流量实际上就是对应。因此我们选择用python进行作图,来判断字段之间联系影响。 ?...因为预测数据单位天(day),因此我们先将日期进行正则处理,取年月日(Y-m-d): ? 增加字段TRADE_DATE_DAY: ?...通过dataframe排序求和,我们获得对应日期对应刷卡地点客流量字段VAL: ? 将重新整理数据输出,此时便得到了用来训练时间序列模型数据集。...将异常天数筛选出来后,保留剩余天数所对应数据,并且将异常天数对应日客流量取每月正常天数客流量均值,使得模型能更好拟合。这样我们便得到了新数据集,保存在data_final文件夹

3.4K42

Pandas最详细教程来了!

导读:Python,进行数据分析一个主要工具就是PandasPandas是Wes McKinney大型对冲基金AQR公司工作时开发,后来该工具开源了,主要由社区进行维护更新。...惯例是将pandas简写pd,命令如下: import pandas as pd Pandas包含两个主要数据结构:SeriesDataFrame。...▲图3-7 loc方法将在后面的内容详细介绍。 索引存在,使得Pandas处理缺漏信息时候非常灵活。下面的示例代码会新建一个DataFrame数据df2。...为了保留df2索引为z值,我们可以提供一个参数,告诉Pandas如何连接。示例代码如下: df.join(df2,how='outer') 运行结果如图3-10所示。 ?...函数频率参数及说明如下所示: B:交易日 C:自定义交易日(试验) D:日历日 W:每周 M:每月底 SM:半个月频率(15号月底) BM:每个月份最后一个交易日 CBM:自定义每个交易月 MS:

3.2K11

使用Pandas melt()重塑DataFrame

重塑 DataFrame 是数据科学中一项重要且必不可少技能。本文中,我们将探讨 Pandas Melt() 以及如何使用它进行数据处理。...例如, id_vars = 'Country' 会告诉 pandas 将 Country 保留一列,并将所有其他列转换为。...实际项目中可能关心某些列,例如,如果我们只想查看“24/01/2020”“25/01/2020”上值: df_wide.melt( id_vars=['Country', 'Lat',...有两个问题: 确认、死亡恢复保存在不同 CSV 文件。将它们绘制一张图中并不简单。 日期显示列名,它们很难执行逐日计算,例如计算每日新病例、新死亡人数新康复人数。...Recovered 列完整表格: 总结 本文中,我们介绍了 5 个用例 1 个实际示例,这些示例使用 Pandas melt() 方法将 DataFrame 从宽格式重塑长格式。

2.7K10

掌握pandas时序数据分组运算

pandas分析处理时间序列数据时,经常需要对原始时间粒度下数据,按照不同时间粒度进行分组聚合运算,譬如基于每个交易日股票收盘价,计算每个月最低最高收盘价。...图1 2 pandas中进行时间分组聚合 pandas根据具体任务场景不同,对时间序列进行分组聚合可通过以下两类方式实现: 2.1 利用resample()对时序数据进行分组聚合 resample...如果你熟悉pandasgroupby()分组运算,那么你就可以很快地理解resample()使用方式,它本质上就是在对时间序列数据进行“分组”,最基础参数rule,用于设置按照何种方式进行重采样...resample('M') # 以月单位 .agg({ 'close': ['max', 'min'] }) ) 图2 可以看到,在上面的例子,我们对index日期时间类型...DataFrame应用resample()方法,传入参数'M'是resample第一个位置上参数rule,用于确定时间窗口规则,譬如这里字符串'M'就代表「月且聚合结果显示对应月最后一天」,

3.3K10
领券