python透视表画图_透视表、交叉表、matplotlib作图
from pandas import Series,DataFrame
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt #导入matplotlib库
get_ipython().run_line_magic('matplotlib', 'inline')
df=pd.read_csv(r'D:\python数据分析\usagelog.csv')
df_usetimes=df.loc[:,['date','userid','times']] #提取日期、用户ID和次数3列,所有行
df_usetimes2018=df_usetimes[(df_usetimes['date']>=20180101) & (df_usetimes['date']<=20181231) ].sort_values(by='date') #提取2018年的数据
def getmonth(d):
return(int(d/100)%100 )
df_usetimes2018['date']=df_usetimes2018['date'].map(getmonth)
def weekdayname_to_weekdaynumbe(dayname):
if dayname == '星期一':
return('1')
elif dayname == '星期二':
return('2')
elif dayname == '星期三':
return('3')
elif dayname == '星期四':
return('4')
elif dayname == '星期五':
return('5')
elif dayname == '星期六':
return('6')
elif dayname == '星期日':
return('7')
else:
return('')
df['day']=df['day'].map(weekdayname_to_weekdaynumbe)
df.sort_values(by=['day','date']) #按照星期、日期先后排序
#透视表,各个用户在2018年一周7天里每天批注量的分类汇总
df_pivot_table=df.pivot_table(index='userid',columns='day',values='times',aggfunc='sum',margins=True,fill_value=0,margins_name='合计')
df_pivot_table
#交叉表,反映各个用户在2018年一周7天内做批量邮编批注的频率。
df_cross=pd.crosstab(index=df['userid'],columns=df['day'])
#用matplotlib画2018年每月批注量对比图
df_2018_sum=df_usetimes2018.groupby(by='date').sum()
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.title('2018年每月批注量对比图')
plt.xlabel('月份')
plt.ylabel('次数')
plt.bar(df_2018_sum.index,df_2018_sum['times'],color='red')
#累计批注量折线图
plt.plot(df_2018_sum.cumsum().index,df_2018_sum.cumsum()['times'],color='red',linestyle=':',marker='x')
python透视表画图_透视表、交叉表、matplotlib作图相关推荐
- mysql 交叉表 存储过程_用于生成交叉表的存储过程的存储过程
以前总是在网上搜一些交叉表生成的相关代码 但是使用起来总是很复杂 看看 刚出炉的东西对你来说是不是有所帮助 :_) 先看看下一个生成的存储过程 :SQLServer2000 Create Proced ...
- 在MySQL中实现交叉表查询2(动态交叉表)
在MySQL中实现交叉表查询2(动态交叉表) 交叉表分为静态交叉表和动态交叉表.其中静态交叉表中的列是固定的,因此相对容易实现:而动态交叉表中的列需要动态生成. 一.静态交叉表的实现 参见上一篇文章: ...
- 在MySQL中实现交叉表查询1(静态交叉表)
在MySQL中实现交叉表查询1(静态交叉表) 一.什么是交叉表 交叉表查询是将来源于某个表中的字段进行分组,一组列在交叉表左侧,一组列在交叉表上部,并在交叉表行与列交叉处显示表中某个字段的各种计算值. ...
- python透视表画图_用Python实现数据的透视表的方法
在处理数据时,经常需要对数据分组计算均值或者计数,在Microsoft Excel中,可以通过透视表轻易实现简单的分组运算.而对于更加复杂的分组运算,Python中pandas包可以帮助我们实现. 1 ...
- crosstab交叉表_透视图和交叉表
透视图和交叉表 在数据分析中,数据透视表是常见的工具之一,需要根据行或列对数据进行各个维度数据的汇总,在pandas中,提供了相关函数解决此类问题 透视图相关函数 pivot_table(data,i ...
- java画熊猫_从熊猫交叉表制作气泡图
我有一个4列和几千行的pandas数据帧 . 所有条目都是True或False . 让我们调用数据帧'df'和列'c0','c1','c2'和'c3' . 我感兴趣的是有多少行有2 ^ 4 = 16个 ...
- mysql交叉表的构造知识_[数据库]MySQL交叉表
[数据库]MySQL交叉表 0 2012-01-11 17:00:23 在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义. http:// ...
- python自定义函数画图_利用Python绘图和可视化(长文慎入)
Python有许多可视化工具,但是我主要讲解matplotlib(http://matplotlib.sourceforge.net).此外,还可以利用诸如d3.js(http://d3js.org/ ...
- excel子表与母表筛选_滚动浏览Excel表中的筛选器项目
excel子表与母表筛选 To see specific data in an Excel Table, you can select an item from the drop down filte ...
- java动态交叉表,SqlServer如何生成动态交叉表查询
为了说明问题,我们用SqlServer自带的事例数据库(Northwind)来进行验证,所有的例子请放到Northwind中运行,我可能会省略Use语句,所引用的表,都是Northwind中的,下面我 ...
最新文章
- centos llvm安装_在CentOS上编译安装llvm-3.8.1详细教程
- 场景创新,推动金融行业数字化转型
- html怎么设置z值,css z-index属性怎么用
- php根据id查找条件怎么写_thinkphp where()条件查询
- VS2008SP1中CDialogEx的使用问题及解决
- jquery跨域请求示例
- python 下载文件-Python实现http文件下载
- 使用Websocket框架之GatewayWorker开发电商平台买家与卖家实时通讯
- VS2013+cuda8.0配置及案例
- git学习笔记-(10-分支例子)
- hive下载安装与配置
- 实现读取txt文本 统计文本单词出现次数
- Games 图形学 L2线性代数
- java怎么停止工作_Java停止工作怎么办
- 智慧高铁、智慧机场对护照阅读器的应用 SDK说明
- Tomcat服务器的安装使用
- mysql练习答案,mysql练习语句
- ✔B【OPA1602 】【双运放】高性能 低噪声 极低失真度运放模块 35MHz带宽
- mc服务器常用指令_MC服务器新手指令大全
- 张帅/斯托瑟击败捷克组合 首进大满贯女双决赛
热门文章
- 基于DragonBoard410C的智能管家
- 解决Navicat远程服务器2013-Lost connection to MYSQL server at 'waitting for initial communication packet'
- 基于SMTP协议的E-MAIL电子邮件发送客户端软件C#实现
- c语言——socket编程
- android编程播放音乐,Android编程实现播放音频的方法示例
- javaweb项目实现连续3次输错密码后禁止登录
- el-upload+额外的参数 , element上传功能组件及其参数的详解
- 考研数学一二重积分常见解题思路
- 《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》论文阅读笔记
- golang 实现苹果内购服务端验证