具体来讲,第一篇文章一场pandas与SQL的巅峰大战涉及到数据查看,去重计数,条件选择,合并连接,分组排序等操作。...第四篇文章一场pandas与SQL的巅峰大战(四)学习了在MySQL,Hive SQL和pandas中用多种方式计算日环比,周同比的方法。...第六篇文章一场pandas与SQL的巅峰大战(六)我们主要总结学习了SQL和pandas中计算日活和多日留存率的方法。 以上的几篇我们都是在从“对立”的角度讨论pandas与SQL。...在和很多朋友交流过程中,发现了很多之前没有遇到的问题。这个时候一方面要查资料看文档,另一方面也要多动手多实践,与人多交流,这样才能真正形成自己的认识。...祝所有朋友新的一年多多发财,平安顺意。 顺便说一下,后续公众号的文章,我依然会尽力写原创,可能会更多采用独立单篇的方式,条件成熟时也会写系列文章。
本文收集了 Python 数据分析库 Pandas 及相关工具的日常使用方法,备查,持续更新中。...) # 最小 df.columns # 显示所有列名 df.team.unique() # 显示列中的不重复值 # 查看 Series 对象的唯一值和计数, 计数占比: normalize=True s.value_counts...(dropna=False) # 查看 DataFrame 对象中每一列的唯一值和计数 df.apply(pd.Series.value_counts) df.duplicated() # 重复行 df.drop_duplicates...col2]) # 返回一个按多列进行分组的Groupby对象 df.groupby(col1)[col2] # 返回按列col1进行分组后,列col2的均值 # 创建一个按列col1进行分组,并计算col2...(ted.film_date, unit='ms') # 按月(YMDHminS)采集合计数据 df.set_index('date').resample('M')['quantity'].sum()
Python由荷兰人吉多·范罗苏姆(Guido van Rossum)创造,第一版发布于1991年。...关于为何有Python这个项目,吉多·范罗苏姆在1996年曾写道:6年前,也就是1989年12月,我在寻找一门“课余”编程项目来打发圣诞节前后的时间。...Python 2.0于2000年10月16日发布。Python 3.0于2008年12月3日发布,此版不完全兼容之前的Python源代码。...Pandas可以轻松应对白领们日常工作中的各种表格数据处理需求,还应用在金融、统计、数理研究、物理计算、社会科学、工程等领域。...; 数据的转置,如行转列、列转行变更处理; 连接数据库,直接用SQL查询数据并进行处理; 对时序数据进行分组采样,如按季、按月、按工作小时,也可以自定义周期,如工作日; 窗口计算,移动窗口统计、日期移动等
|数值 查看数值型列的统计信息,计数,均值 df.describe().round(2).T 6-查看数据统计信息|离散 查看离散型列的统计信息,计数,频率 df.describe(include=['...'].isin(['中国','美国','英国','日本','巴西']))&(df['金牌数']<30) 36 -筛选行|条件(包含指定值) 提取 国家奥委会 列中,所有包含国的行 df[df['国家奥委会...中的时间操作 1-时间生成|当前时间 使用pandas获取当前时间 pd.Timestamp('now') Timestamp('2021-12-15 11:32:16.625393') 2-时间生成|...指定范围 使用pandas按天生成2021年1月1日至2021年9月1日的全部日期 pd.date_range('1/1/2021','9/11/2021') DatetimeIndex(['2021-....set_index('日期').resample('W').last() 26 - 日期重采样|日 -> 月 按月对 df1 进行重采样,保留每月最后一个数据 df1.set_index('日期'
根据K线的计算周期可将其分为:日K线、周K线、月K线、年K线 OHLC线图 摘录来自维基百科的一段介绍: 美国线**(英语:Open-High-Low-Close chart,OHLC chart),...绘制OHLC图 绘图数据 在本文中很多图形都是基于Plotly中自带的一份关于苹果公司AAPL的股票数据绘制,先看看具体的数据长什么样子:利用pandas读取网站在线的csv文件 # 读取在线的csv文件...个日期:指定年、月、日 dates = [datetime(year=2019, month=10, day=10), datetime(year=2019, month=11, day...指定交易日 import plotly.graph_objects as go import pandas as pd df = pd.DataFrame(dict( # 横轴 date...滑块和时间按钮结合 除了滑块,我们还可以在图形中还可以设置按钮进行选择: import plotly.express as px import pandas as pd df = pd.read_csv
='a+', index=False, header=False) 查看爬取的数据 [9wd1fyy95w.png] 二、折线图 折线图是排列在工作表的列或行中的数据可以绘制到折线图中。...绘制2019年成都AQI指数走势图 import pandas as pd import pyecharts.options as opts from pyecharts.charts import Line...)') ) line.render('2019成都AQI指数走势图(按日统计).html') 运行效果如下: [cuv15r5rm5.gif] import pandas as pd import pyecharts.options...['月份'] = data # 按月份分组 聚合 统计每月AQI指数平均值 counts = df.groupby('月份').agg({'AQI指数': 'mean'}) date = [f'{x...[gm4ivdtllx.png] 利用pyecharts绘制箱线图需要用 prepare_data() 方法将传入的列表中的数据转换为的 min, Q1, median (or Q2), Q3, max
我们首先需要设置网格参数startDate,endDate(程序——网格参数) A3:筛选出指定时间的时间段 A4:按月计算开始时间和起始时间的间隔 A5:after(start,n)计算从开始时间以后的...n天,@m选项表示按月计算,即开始时间以后的n个月。...A3:按照_1,_2,_3,_4,_5,_6分组,每组选择一条记录select@1()是取序列中第一条符合条件的成员,如果第7个字段是work phone则取第八个字段的值作为work_phone字段...A13:新建表,定义两个变量,birthday:18+rand(18),表示年龄在18至35周岁,用今年的年份减去年龄,得到出生的年份的一月一日。city:从city表中随机选取一条记录。...定义变量是可以在计算的时候定义的,计算完成后赋值给变量,后续的计算可以直接使用这个变量,这使表达式显得简洁。最终的BIRTHDAY字段为从那年的1月1日,随机推迟那年的天数的时间,得到生日。
具体来讲,第一篇文章一场pandas与SQL的巅峰大战涉及到数据查看,去重计数,条件选择,合并连接,分组排序等操作。...日活计算 这里我们约定日活是指每天登录的user_id去重数,从我们的数据来看,计算方式非常简单。 ? SQL计算日活 早在系列第一篇中我们就学习过group by聚合操作。...pandas计算日活 pandas计算日活也不难,同样是使用groupby ,对uid进行去重计数。...分别计算次日留存率,7日,14日留存率。 ? SQL方式 次日留存计算 同前面计算日环比周同比一样,我们可以采用自连接的方式,但连接的条件除了日期外,还需要加上uid,这是一个更加严格的限制。...多日留存计算 方法一: 多日留存的计算可以沿用SQL中的思路,关联时先不用带日期条件 1.计算日期差,为后续做准备 merge_all = pd.merge(login_data, login_data
Step4 在新建的Notebook中写入代码 获取指数数据函数 导入所需要用到的库 import pandas as pd import matplotlib.pyplot as plt 定义获取指数数据的函数...指数,从2005年4月8日开始到2019年4月20日结束的日级交易数据 df300 = get_stock_data(code='000300', start_date='2005-04-08', end_date...# 筛选出沪深300指数2007-2009年的极大值点对应当天的数据 find_max(df300, '2007/1/1', '2009/1/1') ?...# 计算每个交易日的资产(等于当天的基金份额乘以单位基金净值) daily_data = pd.merge(stock_data, temp, left_index=True...# 计算每个交易日的资产(等于当天的基金份额乘以单位基金净值) daily_data = pd.merge(stock_data, temp, left_index=True
本系列一直强调要善用各种工具,作为本系列的最后一节,那么这次就用一例子说明如何让Python结合Vba,直接在Excel中动态获取各种处理条件,输出结果。...输入条件,输出结果的过程在 Vba 进行。 可以随意修改汇总方式(求和、平均等)与汇总字段。 可以随意修改汇总字段和过滤条件。 所有的修改都无需改动代码。 数据源文件与显示文件是独立分开的。...比如:"M" 表示按月,"Y" 表示按年。 ---- ---- 最后,定义一个方法,让 vba 调用。如下图: 这个方法的上方套上一个 xlwings 的装饰器 @xw.func。...然后就顺序调用之前定义的2个方法 where_df 和 group_df。 接着把 DataFrame 的 columns 与 values 合并成一个 numpy 数组,即可返回。...如下: 注意红线部分,返回结果的 numpy 数组索引是从0开始计数。因此这里需要在最大索引+1才是行和列的数目。 其他就不细说了,会 vba 的小伙伴应该一看就懂。
python中groupby函数主要的作用是进行数据的分组以及分组后地组内运算!...).mean()(对于数据的计算方式——函数名称) 举例如下: print(df["评分"].groupby([df["地区"],df["类型"]]).mean()) #上面语句的功能是输出表格所有数据中不同地区不同类型的评分数据平均值...上图截自 pandas 官网 document,这里就不一一细说。...filter() 对分组进行过滤,保留满足()条件的分组 以上就是 groupby 最经常用到的功能了。...用 first(),tail()截取每组前后几个数据 用 apply()对每组进行(自定义)函数运算 用 filter()选取满足特定条件的分组 到此这篇关于详解python中groupby函数通俗易懂的文章就介绍到这了
在前三篇文章中,我们系统介绍了python内置库和pandas中常见的时间处理方法,以此为基础,进入到我们今天的主题——时间序列图的绘制。...时间段通常以不同单位表示,例如日、周、月、年。 日历图的可视化形式主要有:以年为单位的日历图和以月为单位的日历图。...先将1017A站点的2020年PM2.5数据(sel_df1)利用月日历图绘制,数据结构同上一个例子,示例代码如下: #数据准备 import pandas as pd new_df = sel_df2...new_df['week'] = new_df.index.strftime('%W') #根据索引列计算每一个样本处于当年的第几周 new_df['week'] = new_df['week']....指定分片,按照月份分片就是按月绘制;theme函数中设置了绘图的详细参数,感兴趣可以自行查找。
此系列文章收录在公众号中:数据大宇宙 > 数据处理 >E-pd > 经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死。...pandas 中的数据位移 直接看看,pandas 中把销量列位移是怎么实现的: - 行2:.shift() 方法实现下位移。...- 这步相当于 Excel 操作中的辅助列 C列 - 注意,shift 方法只是返回位移后的结果,并不影响 df 中的数据 此时同样简单即可获得结果: - 为了让初学者看懂,我特意分成多行保存中间结果...相当于 Excel 操作的 D列公式 - 行4:把计算结果写入原数据 > 实际上在 pandas 还有更便捷的实现,类似于 Excel 操作中直接写公式上下引用。...不过,实际工作中的数据没有这么简单, 比如说: - 数据中有些月份数据是缺失的,怎么办? - 数据中的是日期类型,我希望按年做环比 更多详细高级应用技巧,关注我的 pandas 专栏!
在有些时候,我们需要统计连续登录N天或以上用户,这里采用python通过分组排序、分组计数等步骤实现该功能,具体如下: 导入需要的库 import pandas as pd import numpy as...第四步,计算差值 这一步是辅助操作,使用第三步中的辅助列与用户登录日期做差值得到一个日期,若某用户某几列该值相同,则代表这几天属于连续登录 因为辅助列是float型,我们在做时间差的时候需要用到to_timedelta...第五步,分组计数 通过上一步,我们可以知道,计算每个用户date_sub列出现的次数即可算出该用户连续登录的天数 data = df.groupby(['role_id','date_sub']).count...().reset_index() #根据用户id和上一步计算的差值 进行分组计数 ?...补充 当我们计算出每个用户在周期内的每个连续登录天数后,想计算连续登录N天或以上玩家清单就非常方便了,条件筛选即可。 同时,也可以自由计算连续登录最大天数 各玩家数等等。
数据分析的目的: 本篇文章中,假设以朝阳医院2018年销售数据为例,目的是了解朝阳医院在2018年里的销售情况,通过对朝阳区医院的药品销售数据的分析,了解朝阳医院的患者的月均消费次数,月均消费金额、客单价以及消费趋势...数据准备 数据是存在Excel中的,可以使用pandas的Excel文件读取函数将数据读取到内存中,这里需要注意的是文件名和Excel中的sheet页的名字。...import pandas as pd #导入数据 file_name = '朝阳医院2018年销售数据.xlsx' # 使用ExcelFile()时需要传入目标excel文件所在路径及文件名称 xls...#查看每一列数据统计数目 print(dataDF.count()) 数据清洗 数据清洗过程包括:选择子集、列名重命名、缺失数据处理、数据类型转换、数据排序及异常值处理 (1)选择子集 在我们获取到的数据中...(subset=['销售时间','社保卡号']) totalI = kpil_Df.shape[0] print('总消费次数=',totalI) #计算月份数 #按销售时间升序排序 kpil_Df
Josh Devlin 2017年2月21日 Pandas可以说是数据科学最重要的Python包。...) 所有列的唯一值和计数 选择 df[col] 返回一维数组col的列 df[[col1, col2]] 作为新的数据框返回列 s.iloc[0] 按位置选择 s.loc['index_one'] 按索引选择...df.groupby(col) 从一列返回一组对象的值 df.groupby([col1,col2]) 从多列返回一组对象的值 df.groupby(col1)[col2] 返回col2中的值的平均值...,按col1分组并计算col2和col3的平均值 df.groupby(col1).agg(np.mean) 查找每个唯一col1组的所有列的平均值 data.apply(np.mean) 在每个列上应用函数...df.describe() 数值列的汇总统计信息 df.mean() 返回所有列的平均值 df.corr() 查找数据框中的列之间的相关性 df.count() 计算每个数据框的列中的非空值的数量 df.max
其实 Pandas 中有非常好的时间序列处理方法,但是因为使用并不特别多,很多基础教程也会略过这一部分。在本篇内容中,ShowMeAI对 Pandas 中处理时间的核心函数方法进行讲解。...简单说来,时间序列是随着时间的推移记录某些取值,比如说商店一年的销售额(按照月份从1月到12月)。图片 Pandas 时间序列处理我们要了解的第一件事是如何在 Pandas 中创建一组日期。...重采样Pandas 中很重要的一个核心功能是resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率转换的便捷的方法。...平移Pandas 中的shift功能,可以让字段向上或向下平移数据。这个平移数据的功能很容易帮助我们得到前一天或者后一天的数据,可以通过设置shift的参数来完成上周或者下周数据的平移。...# 计算差值df_shift['one_week_net'] = df_shift.sales - df_shift.sales.shift(-7) 滑动平均下一个核心功能是rolling滑动平均,它是做交易的朋友非常常用到的一个功能
> 经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死。...pandas 中的数据位移 直接看看,pandas 中把销量列位移是怎么实现的: - 行2:.shift() 方法实现下位移。...- 这步相当于 Excel 操作中的辅助列 C列 - 注意,shift 方法只是返回位移后的结果,并不影响 df 中的数据 此时同样简单即可获得结果: - 为了让初学者看懂,我特意分成多行保存中间结果...相当于 Excel 操作的 D列公式 - 行4:把计算结果写入原数据 > 实际上在 pandas 还有更便捷的实现,类似于 Excel 操作中直接写公式上下引用。...不过,实际工作中的数据没有这么简单, 比如说: - 数据中有些月份数据是缺失的,怎么办? - 数据中的是日期类型,我希望按年做环比 更多详细高级应用技巧,关注我的 pandas 专栏!
一共24张Excel表格,按月存储,涵盖了从2019年1月到2020年12月的数据。 表格内部数据大同小异: ?...调用rank快速给到对应的排名: ? 再来计算搜索份额,搜索份额的计算公式:单品牌搜索人数/所有品牌搜索人数汇总,用Pandas计算,怎一个easy了的! ?...正当我们准备批量执行操作,首席吹牛官发来了消息: “需求一略有调整,投资人最关注的是凌云这个品牌,要求在汇总表中,每个月凌云品牌的相关指标排在最前面,后面跟着搜索排名TOP5的品牌”。...接下来,我们就结合搜索人数,搜索-点击转化率和点击-支付转化率,用Pandas做一波分析。 要对最近一年的数据做分析,我们先把2020年所有数据合并,拿到汇总表: ?...排名第二的九方,虽然搜索人数少了40多万,却能凭借较高的搜索-点击转化率和点击-支付转化率,在支付人数上远超双敏,成为支付之王。
作者:Randy Betancourt 日期:2016年12月19号 这篇文章是Randy Betancourt的用于SAS用户的快速入门中的一章。...pandas为 Python开发者提供高性能、易用的数据结构和数据分析工具。该包基于NumPy(发音‘numb pie’)中,一个基本的科学计算包,提供ndarray,一个用于数组运算的高性能对象。...具体细节讨论见第11章— pandas Readers。 从读取UK_Accidents.csv文件开始。该文件包括从2015年1月1日到2015年12月31日中国香港的车辆事故数据。....一年中的每一天都有很多报告, 其中的值大多是整数。另一个.CSV文件在这里,将值映射到描述性标签。 读.csv文件 在下面的示例中使用默认值。...在删除缺失行之前,计算在事故DataFrame中丢失的记录部分,创建于上面的df。 ? DataFrame中的24个记录将被删除。
领取专属 10元无门槛券
手把手带您无忧上云