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

Pandas数据分析经典案例

作者:Peter 编辑:Peter 大家好,我是Peter~ 写过很多关于Pandas文章,本文开展了一个简单综合使用,主要分为: 如何自行模拟数据 多种数据处理方式 数据统计与可视化 用户RFM模型....jpg] 到这里你可以学到: 如何生成时间相关数据 如何从列表(可迭代对象)中生成随机数据 PandasDataFrame自行创建,包含生成新字段 Pandas数据合并 分析维度1:时间 2019...-2021年每月销量走势 1、先把年份和月份提取出来: df["year"] = df["time"].dt.year df["month"] = df["time"].dt.month # 同时提取年份和月份...: [008i3skNgy1gy7ta394usj30ls0cqdgo.jpg] 3、分年月统计并展示: # 分年月统计销量 df1 = df.groupby(["year_month"])["kilogram...] 3、合并后差值: 出现是每个用户第一条记录之前是没有数据,后面直接删除了部分 [008i3skNgy1gy7u6u62ifj30sa0oqq50.jpg] [008i3skNgy1gy7u7gf6qsj312u0r8n0i.jpg

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

Python绘制三维图

([date.index.year, date.index.month]).mean() #按年和月分组对收盘价求均值 plt.subplot(projection='3d')...3 用股票数据绘制三维散点图 按年月分组,统计收盘价均值、换手率均值、成交笔数均值,分别作为x轴、y轴、z轴绘制三维散点图,具体语句如下: result = date.groupby([date.index.year...4 用股票数据绘制三维柱状图 按年月分组,统计股票收盘价均值。...([date.index.year, date.index.month]).mean() #按年月统计收盘价均值 plt.subplot(projection='3d') #设置3D绘图空间...5 用bar3d函数绘制三维柱状图 为了让三维柱状图绘制得更加清晰,用bar3d函数绘制一版三维柱状图,具体语句如下: result = date[['收盘价']].groupby([date.index.year

3K30

关于pandas数据处理,重在groupby

一开始我是比较青睐于用numpy数组来进行数据处理,因为比较快。快。。快。。。但接触多了pandas之后还是觉得各有千秋吧,特别是之前要用numpy循环操作,现在不用了。。。...果然我还是孤陋寡闻,所以如果不是初学者,就跳过吧: ''' 首先上场是利用pandas对许多csv文件进行y轴方向合并(这里csv文件有要求,最起码格式要一致,比如许多系统里导出文件,格式都一样...=[i.year for i in b1['datetime']]#以下几个年月日,我暂时还没细细研究,怎么提取一年中某一天。。。...好像相减可以解决,遇到问题再解决吧 b['year']=year b2=b.drop(b[b.year!...groupby统计功能了,除了平均值还有一堆函数。。。

78120

浅谈pandas,pyspark 大数据ETL实践经验

缺失处理 pandas pandas使用浮点NaN(Not a Number)表示浮点数和非浮点数组中缺失,同时python内置None也会被当作是缺失。...DataFrame使用isnull方法在输出时候全为NaN 例如对于样本数据中年龄字段,替换缺失,并进行离群清洗 pdf["AGE"] = pd.to_numeric(pdf["AGE"],...比如,有时候我们使用数据进行用户年龄计算,有的给出是出生日期,有的给出年龄计算单位是周、天,我们为了模型计算方便需要统一进行数据单位统一,以下给出一个统一根据出生日期计算年龄函数样例。...> BirthDate.month): NextYear = datetime.date(Today.year + 1, BirthDate.month, BirthDate.day)...elif (Today.month < BirthDate.month): NextYear = datetime.date(Today.year, Today.month

5.4K30

利用 pandas 和 xarray 整理气象站点数据

这种格式与CSV格式还有点不同,CSV格式是字段间用相同符号隔开,而图中文件可能是用 Fortran 写,每个字段长度固定为30个字符,此外,其中有不少特征比如30XXX代表缺测/微量情况,...用Python处理这种文本列表就需要用上 pandas 库了, xarray 库就是基于 pandas ,虽然天天在用 xarray ,但是这还是第一次正儿八经用 pandas 处理数据,就当做一次学习过程啦...plt 定义处理过程中函数: 处理时间坐标,利用 datetime 将整形年、月、日转换为 pandas 时间戳 def YMD_todatetime(ds): # 读取年月日数据,转换为..., 32766] # 分别代表 微量、空白、缺测,读取时替换为Nan df = pd.DataFrame() # 先建立一个表,然后append进去 for yr in year: print...').mean() TibetWindAnom = TibetWind.groupby( 'time.month') - TibetWind.groupby('time.month').mean

9.4K41

利用 pandas 和 xarray 整理气象站点数据

,此外,其中有不少特征比如30XXX代表缺测/微量情况,用Fortran处理也有不小麻烦。...用Python处理这种文本列表就需要用上 pandas 库了, xarray 库就是基于 pandas ,虽然天天在用 xarray ,但是这还是第一次正儿八经用 pandas 处理数据,就当做一次学习过程啦...plt 定义处理过程中函数: 处理时间坐标,利用 datetime 将整形年、月、日转换为 pandas 时间戳 def YMD_todatetime(ds): # 读取年月日数据,转换为..., 32766] # 分别代表 微量、空白、缺测,读取时替换为Nan df = pd.DataFrame() # 先建立一个表,然后append进去 for yr in year: print...').mean() TibetWindAnom = TibetWind.groupby( 'time.month') - TibetWind.groupby('time.month').mean

5.3K12

用户群组分析Cohort analysis、RFM用户分层模型、Kmeans用户聚类模型

'] = df['InvoiceDate'].dt.year # 年-月-日-小时-星期几 df['month'] = df['InvoiceDate'].dt.month df['day'] = df...In 54: # 分组聚合统计 df[df["Country"] == "UK"].groupby(["year","month"])["Amount"].sum() Out54: year month...: In 55: plt.figure(figsize=(12,5)) # 按照年月分组统计总额Amount df[df["Country"] == "UK"].groupby(["year","month...["year","month"])["Amount"].sum().plot(kind="line", label="Others", color="blue") plt.xlabel("Year-Month...,通常需要以下几个关键信息: InoiceMonth:客户每笔交易发生年月 CohortMonth:客户第一笔交易发生年月 CohortPeriod:客户购买生命周期,即客户每笔交易时间与第一笔交易时间间隔

43810

Pandas透视表及应用

('%Y-%m')) custom_info[['会员卡号','会员等级','会员来源','注册时间','注册年月']].head() month_count = custom_info.groupby...('注册年月')[['会员卡号']].count() month_count.columns = ['月增量'] month_count.head() 用数据透视表实现相同功能:dataframe.pivot_table...第一个月数据是之前所有会员数量累积(数据质量问题) 由于会员等级跟消费金额挂钩,所以会员等级分布分析可以说明会员质量  通过groupby实现,注册年月,会员等级,按这两个字段分组,对任意字段计数... 分组之后得到是multiIndex类型索引,将multiIndex索引变成普通索引 custom_info.groupby(['注册年月','会员等级'])['会员卡号'].count().reset_index...() # 使得结果更美观  或使用unsatck: custom_info.groupby(['注册年月','会员等级'])['会员卡号'].count().unstack() 使用透视表可以实现相同效果

16510

如何用 Python 和 Pandas 分析犯罪记录开放数据?

robbery[robbery.year==2018].groupby('month').size().plot(kind='bar') ?...robbery[robbery.year==2018].groupby(['month', 'hour']).size() ? 但是这样统计结果,无法直接绘制。我们需要做一个变换。...robbery[robbery.year==2018].groupby(['month', 'hour']).size().unstack(0) ?...因为许多时间段,本来就没有抢劫案件发生,所以这个表中,出现了许多(NaN)。我们根据具体情况,采用0来填充。Pandas 中数据填充函数是 fillna。...小结 通过本文学习,希望你已掌握了以下内容: 如何检索、浏览和获取开放数据; 如何用 Python 和 Pandas 做数据分类统计; 如何在 Pandas 中做数据变换,以及缺失补充; 如何用 Pandas

1.8K20

干货:12个案例教你用Python玩转数据可视化(建议收藏)

四重奏包含了四组统计特性一致数据。每个数据集有一些x以及相对应y,我们将在一个IPython Notebook中列出这些指标。如果你绘制出这些数据集,你将发现这些图表截然不同。...') by_dict = {ts.groupby_yday: 'Day of Year', ts.groupby_month: 'Month'} plt.title('Grouped by...(ts.short_month(year_month[1])) year.append(str(year_month[0])) monthly_avg = np.nanmean...=month, year=year, color=color, avg=avg)) return year, source (4)定义一个返回横轴标签函数: def all_years():...帽子矩阵对角元素给出称为杠杆(leverage)特殊度量,杠杆作为水平轴量,可以标识出影响图潜在影响。 在影响图中,影响会决定绘图点大小。影响大点往往具有高残差和杠杆。

3.7K40

12个案例教你用Python玩转数据可视化

每个数据集有一些x以及相对应y,我们将在一个IPython Notebook中列出这些指标。如果你绘制出这些数据集,你将发现这些图表截然不同。...') 19 by_dict = {ts.groupby_yday: 'Day of Year', ts.groupby_month: 'Month'} 20 plt.title('Grouped...month.append(ts.short_month(year_month[1])) 9 year.append(str(year_month[0])) 10 monthly_avg...=month, year=year, color=color, avg=avg)) 14 return year, source (4)定义一个返回横轴标签函数: 1def all_years(...帽子矩阵对角元素给出称为杠杆(leverage)特殊度量,杠杆作为水平轴量,可以标识出影响图潜在影响。 在影响图中,影响会决定绘图点大小。影响大点往往具有高残差和杠杆。

2.5K30
领券