透视表可视化简单案例

复制代码
import pandas as pd
import numpy as np
import os
basepath='/Users/kangyongqing/Documents/kangyq/202307/标准版学期制C2/'

path=os.path.join(basepath,'02freetime.csv')
dt=pd.read_csv(path,dtype={'shifen':'object'})
print(dt.head())
import matplotlib.pyplot as plt

for i in range(1,8):
    dtt=dt[dt['dttype']==i]
    pvt=dtt.pivot_table(values='tutor_user_id',index='shifen',aggfunc='count')
    #数据透视表
    print(pvt)
    x=pvt.index
    y=pvt['tutor_user_id']
    #x,y赋值
    fig=plt.figure(figsize=(20,8))
    #设置画布大小
    p1=plt.bar(x,y,label='freetutorcnt',color='blue')
    #做条形图,添加图例,设置颜色
    plt.legend(loc=1)
    plt.xticks(fontsize=6)
    #设置X轴字体大小
    plt.bar_label(p1,labels=y,padding=0.2)
    #添加y值为数据标签
    plt.title(f'workday{i}')
    #添加标题
    plt.savefig(basepath+"可视化/星期"+f"{i}.png")
    #save要在show之前,因为show会自动调用clear()清除缓存
    plt.show()

结果展示:

附数据源

相关推荐
宠友信息几秒前
消息序号如何保证即时通讯源码聊天记录稳定加载
java·spring boot·redis·python·mysql·uni-app
小柯南敲键盘36 分钟前
批量图片翻译与视频字幕一站式解决高效跨境电商沟通难题
大数据·人工智能·python·音视频
smj2302_796826522 小时前
解决leetcode第3989题网格中保持一致的最大列数
python·算法·leetcode
吴梓穆3 小时前
Python 基础 正则表达式
python
巧克力男孩dd4 小时前
Python超典型练习题(第一次作业)
开发语言·python·算法
闲猫4 小时前
LangChain / Core components / Models
开发语言·python·langchain
cui_ruicheng7 小时前
Python从入门到实战(十三):模块、包与环境管理
开发语言·python
李宸净7 小时前
Web自动化测试selenium+python
前端·python·selenium
而后笑面对8 小时前
生信bwa算法
python
至乐活着9 小时前
深入Python内存管理与垃圾回收:从引用计数到分代回收的实战解析
python·性能优化·内存管理·垃圾回收·引用计数