新项目分析

news2025/2/23 23:38:56

1:数据类型处理

#

sep=‘\s+‘ 这是正则表达式,通过一定规则的表达式来匹配字符串用的 \s 表示空白字符,包括但不限于空格、回车(\r)、换行(\n)、tab或者叫水平制表符(\t)等,这个根据编码格式不同代表的含义也不一样,感兴趣可以搜索看一下 + 是重复修饰符,表示它前面与它紧邻的表达式格式相匹配的字符串至少出现一个,上不封顶 \s+ 意思就是至少有一个空白字符存在
————————————————
版权声明:本文为CSDN博主「舞动的白杨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_37706204/article/details/120827447

#字段含义加载

#coding=utf=8
import pandas as pd
pd.set_option('display.max_columns',None)
df=pd.read_csv('./CDNOW_master.txt',header=None,sep='\s+',names=['user_id','order_dt','order_product','order_amount'])#让第一行不能作为索引,添加列索引
print(df.head())
#print(df.info())

#观察数据类型和数据的缺失值

df.info

#将年月日换成时间类型

df=pd.to_datetime(df['order_dt'],format='%Y%m%d')
print(df)

#查看总描述

df=pd.to_datetime(df['order_dt'],format='%Y%m%d')
print(df)

#原始数据中添加一列表示月份

#coding=utf=8
import pandas as pd
pd.set_option('display.max_columns',None)
df=pd.read_csv('./CDNOW_master.txt',header=None,sep='\s+',names=['user_id','order_dt','order_product','order_amount'])#让第一行不能作为索引,添加列索引

df['order_dt']=pd.to_datetime(df['order_dt'],format='%Y%m%d')

df['Month']=df['order_dt'].values.astype('datetime64[M]')
print(df.head())

第二部分:按月数据分析

#用户每月花费的总金额

#coding=utf=8
import pandas as pd
pd.set_option('display.max_columns',None)
df=pd.read_csv('./CDNOW_master.txt',header=None,sep='\s+',names=['user_id','order_dt','order_product','order_amount'])#让第一行不能作为索引,添加列索引

df['order_dt']=pd.to_datetime(df['order_dt'],format='%Y%m%d')

df['Month']=df['order_dt'].values.astype('datetime64[M]')
print(df.head())

#绘制折线图

df.groupby(by='Month')['order_amount'].sum().plot()
plt.show()

#所有用户每月产品的购买量

df.groupby(by='Month')['order_product'].sum().plot()
plt.show()

#所有用户每月消费的次数

print(df.groupby(by='Month')['order_product'].count())

#统计每月消费的人数

print(df.groupby(by='Month')['user_id'].nunique())

2:

#求每一个用户消费的总金额

print(df.groupby(by='user_id')['order_amount'].sum())

#求每一个用户消费的总次数

print(df.groupby(by='user_id')['order_amount'].count())


#散点图

user_amount_sum=df.groupby(by='user_id')['order_amount'].sum()
user_product_sum=df.groupby(by='user_id')['order_product'].count()
plt.scatter(user_product_sum,user_amount_sum)
plt.show()

#各个用户消费总金额的直方分布图(金额在1000以内)

df.groupby(by='user_id').sum().query('order_amount<=1000')['order_amount'].hist()
plt.show()

 

#各个用户消费的总数量的直方分布图(消费商品的数量在100次之内的分布

df.groupby(by='user_id').sum().query('order_product<=100')['order_product'].hist()
plt.show()

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/362227.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文讲解系统调用与函数调用有什么区别?

作为程序员你肯定写过无数的函数&#xff0c;假设有这样两个函数&#xff1a; void funcB() { }void funcA() {funcB(); } 函数之间是可以相互调用的&#xff0c;这很简单很happy有没有。 要知道是代码、是函数就可以相互调用&#xff0c;不管你用什么语言写的。 假设funcB…

2023/02/21 事件循环-eventloop 宏任务 微任务 讲解

1 JS是单线程 js是单线程的。也就是说&#xff0c;同一个时间只能做一件事。作为浏览器脚本语言&#xff0c;与它的用途有关。JavaScript的主要用途是和用户互动&#xff0c;以及操作DOM&#xff0c;这决定了它只能是单线程。 js是单线程的。也就是说&#xff0c;同一个时间只…

如何使用 API 工具做 Websocket 测试

在 API 测试中&#xff0c;对 Websocket 协议的支持呼声越来越高&#xff0c;今天给大家推荐一款 开源的 API 管理工具——Postcat&#xff0c;以及教教大家&#xff0c;如何利用 API 管理工具做 Websocket 测试。 在线 Demo 链接&#xff1a;Postcat - Open Source API Ecosys…

17 个短代码,检验你 Python 基本功

Python 是一门非常优美的语言&#xff0c;其简洁易用令人不得不感概人生苦短。在本文中&#xff0c;蛋糕将带大家回顾 17个非常有用的 Python 技巧&#xff0c;例如查找、分割和合并列表等。这 17 个技巧都非常简单&#xff0c;但它们都很常用且能激发不一样的思路。 人生苦短&…

来一波骚操作,Java内存模型

文章整理自 博学谷狂野架构师 什么是JMM 并发编程领域的关键问题 线程之间的通信 线程的通信是指线程之间以何种机制来交换信息。在编程中&#xff0c;线程之间的通信机制有两种&#xff0c;共享内存和消息传递。 ​ 在共享内存的并发模型里&#xff0c;线程之间共享程序的公共…

项目管理从需求管理开始--不懂需求管理还敢带项目?

分析报告指出&#xff0c;多达76%的项目失败是因为差劲的需求管理&#xff0c;这个是项目失败的最主要原因&#xff0c;比技术、进度失控或者混乱的变更管理还要关键。很多PMO和PM却没有把需求管理重视起来&#xff0c;甚至认为这只是产品经理的事情&#xff0c;自己只做交付即…

Spark RDD及内存计算

文章目录Spark RDD及内存计算性能调优RDD 的核心特征和属性内存计算Spark RDD及内存计算 性能调优 性能调优的本质&#xff1a; 性能调优不是一锤子买卖&#xff0c;补齐一个短板&#xff0c;其他板子可能会成为新的短板。因此&#xff0c;它是 一个动态、持续不断的过程&…

第51篇-某彩网登录参数分析-webpack【2023-02-21】

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、网站分析一、前言 今天我们看一个webpack的网站 aHR0cHM6Ly8xMGNhaTUwMC5jYy9sb2dpbg==二、网站分析 首先…

Springboot 全局异常处理类

全局异常处理 在开发过程中&#xff0c;不管是Dao、Servie、Controller,层都有可能发生异常&#xff0c;对于异常处理&#xff0c;通常是try&#xff0d;catch或者直接throw&#xff0c;这会让try&#xff0d;catch的代码在代码中任意出现&#xff0c;系统的代码耦合度高&…

Elasticsearch7.8.0版本进阶——数据更新流程

目录一、数据更新流程概述二、数据更新流程步骤2.1、数据更新流程图解2.2、部分更新一个文档的步骤2.3、数据更新流程注意事项一、数据更新流程概述 部分更新一个文档需要结合数据读取和写入流程。 二、数据更新流程步骤 2.1、数据更新流程图解 2.2、部分更新一个文档的步骤…

经典文献阅读之--MSC-VO(曼哈顿和结构约束VIO)

0. 简介 对于视觉里程计而言&#xff0c;在面对低纹理场景时&#xff0c;往往会出现退化的问题&#xff0c;究其原因是人造环境往往很难找到足够数量的点特征。而其他的几何视觉线索则是比较容易找到&#xff0c;在城市等场景中&#xff0c;通常表现出结构规律&#xff0c;如平…

程序中的日期使用问题-格式转化:SimpleDateFormat、org.apache.commons.lang3.time.DateUtils

前言 日期使用问题主要是格式转换的问题 场景&#xff1a;通过excel导入数据&#xff0c;其中一个字段为出生日期&#xff0c;需要对字段值进行合法性校验 博客地址&#xff1a;芒果橙的个人博客 【http://mangocheng.com】 一、个人浅谈日期 时间日期作为一个基础的标识和维度…

Windows下使用git提交代码到gitee

Windows下使用git提交代码到gitee 1、下载安装git 2、或者参考Gitee初始仓库里面的配置代码 上传本地代码到gitee上 1、 在本要上传的代码文件夹&#xff0c;右键 选择&#xff1a;Git Bash Here 2、执行&#xff1a;git init 3、然后执行&#xff1a;git add 文件名。&…

深入Spring底层透析bean生命周期及循环引用的醍醐灌顶篇

目录前言一.Bean的生命周期1.1 Bean的实例化阶段1.2 Bean的初始化阶段&#xff08;重点&#xff09;1.3 Bean的完成阶段二.循环引用问题(面试常问题&#xff09;三.Spring的三级缓存&#xff08;重点来了&#xff09;四.完整的Spring IoC整体总结前言 本篇是接着bean的创建基本…

人工智能详细笔记 :卷积神经网络(CNN)

卷积神经网络和深度学习1.卷积神经网络的结构2.卷积神经网络的卷积运算3.卷积神经网络中的关键技术BP神经网络存在的问题&#xff1a; 输入类型限制&#xff1a;BP神经网络以数值作为输入。如果需要计算图像相关的信息的话&#xff0c;首先需要从图像中提取特征。隐层数量限制…

直播预告 | 嵌入式BI如何将数据分析真正融入业务流程

在信息化高速发展的今天&#xff0c;数据成为企业最有价值的资产之一。而数据本身很难直接传递有价值的信息&#xff0c;只有通过对数据进行挖掘、分析&#xff0c;才能让数据真正成为生产力。 商业智能&#xff08;BI&#xff09;应运而生&#xff0c;可以帮助企业更好地从数…

ASP.NET MVC | 简介

目录 前提 1.教程 2.MVC 编程模式 最后 前提 在学习学过很多课程&#xff0c;但是最主要学的还是ASP.NET MVC这门课程&#xff0c;工作也是用的ASP.NET MVC&#xff0c;所以写一点ASP.NET MVC的东西&#xff0c;大家可以来看看&#xff0c;我自己不会的时候也不用找别的地方…

django项目实战六(django+bootstrap实现增删改查)进阶优化modelform类与视图

目录 一、将视图里面的modelform类分离出去 二、按模块迁移视图 1、新建views视图文件夹 2、views下新建对应模块文件&#xff0c;并从views.py当中迁移代码 三、删除views.py 四、修改url路由 接上一篇《django项目实战五&#xff08;djangobootstrap实现增删改查&#xf…

数据结构-考研难点代码突破(C++实现树型查找 - 平衡二叉树(AVL树)的基本操作(增删))

文章目录1. 平衡二叉树的概念AVL树的插入AVL树查找效率AVL树的删除&#xff08;了解&#xff09;2. C代码3. 考研数据结构代码仓库1. 平衡二叉树的概念 二叉搜索树虽然可以提高搜索效率&#xff0c;但如果数据接近有序的话搜索二叉树的效率退化为链表了。为了解决这个问题&…

跨境群店安全运营神器—超级浏览器

有点跨境电商经验的跨境人都知道&#xff0c;物理隔离是比较安全稳妥的防关联办法。但是多台电脑多条网络的办公方式&#xff0c;不仅设备成本高&#xff0c;人员的费用也高得吓人。后来大家开始使用VPS来防关联。VPS是一种虚拟专用服务器&#xff0c;它是一种将一台服务器分割…