matplolit练习

本文主要介绍了使用Python的matplotlib库进行数据可视化的实践操作,包括创建各种类型的图表,如折线图、散点图和直方图等,帮助读者更好地理解和掌握matplotlib的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码如下(示例):

# -*- coding: utf-8 -*-

###############################################################################
#######################            正文代码             #######################
###############################################################################

# 代码 4-51
import pandas as pd
import numpy as np
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:1234@127.0.0.1:\
3306/testdb?charset=utf8')
detail = pd.read_sql_table('meal_order_detail1',con = engine)
detailGroup = detail[['order_id','counts',
      'amounts']].groupby(by = 'order_id')
print('分组后的订单详情表为:',detailGroup)



# 代码 4-52
print('订单详情表分组后前5组每组的均值为:\n',
      detailGroup.mean().head())

print('订单详情表分组后前5组每组的标准差为:\n',
      detailGroup.std().head())

print('订单详情表分组后前5组每组的大小为:','\n',
      detailGroup.size().head())



# 代码 4-53
print('订单详情表的菜品销量与售价的和与均值为:\n',
      detail[['counts','amounts']].agg([np.sum,np.mean]))


# 代码 4-54
print('订单详情表的菜品销量总和与售价的均值为:\n',
      detail.agg({'counts':np.sum,'amounts':np.mean}))


# 代码 4-55
print('菜品订单详情表的菜品销量总和与售价的总和与均值为:\n',
      detail.agg({'counts':np.sum,'amounts':[np.mean,np.sum]}))


# 代码 4-56
##自定义函数求两倍的和
def DoubleSum(data):
    s = data.sum()*2
    return s
print('菜品订单详情表的菜品销量两倍总和为:','\n',
      detail.agg({'counts':DoubleSum},axis = 0))


# 代码 4-57
##自定义函数求两倍的和
def DoubleSum1(data):
    s = np.sum(data)*2
    return s
print('订单详情表的菜品销量两倍总和为:\n',
      detail.agg({'counts':DoubleSum1},axis = 0).head())

print('订单详情表的菜品销量与售价的和的两倍为:\n',
      detail[['counts','amounts']].agg(DoubleSum1))


# 代码 4-58
print('订单详情表分组后前3组每组的均值为:\n',
      detailGroup.agg(np.mean).head(3))

print('订单详情表分组后前3组每组的标准差为:\n',
      detailGroup.agg(np.std).head(3))



# 代码 4-59
print('订单详情分组前3组每组菜品总数和售价均值为:\n',
      detailGroup.agg({'counts':np.sum,
            'amounts':np.mean}).head(3))



# 代码 4-60
print('订单详情表的菜品销量与售价的均值为:\n',
      detail[['counts','amounts']].apply(np.mean))


# 代码 4-61
print('订单详情表分组后前3组每组的均值为:','\n', detailGroup.apply(np.mean).head(3))
print('订单详情表分组后前3组每组的标准差为:','\n', detailGroup.apply(np.std).head(3))


# 代码 4-62
print('订单详情表的菜品销量与售价的两倍为:\n',
      detail[['counts','amounts']].transform(
            lambda x:x*2).head(4))



# 代码 4-63
print('订单详情表分组后实现组内离差标准化后前五行为:\n',
      detailGroup.transform(lambda x:(x.mean()
            -x.min())/(x.max()-x.min())).head())



###############################################################################
#######################            任务实现             #######################
###############################################################################

# 代码 4-64
import pandas as pd
import numpy as np
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:1234@127.0.0.1:\
3306/testdb?charset=utf8')
detail = pd.read_sql_table('meal_order_detail1',con = engine)
detail['place_order_time'] = pd.to_datetime(
       detail['place_order_time'])
detail['date'] = [i.date() for i in detail['place_order_time']]
detailGroup = detail[['date','counts','amounts']].groupby(by='date')
print('订单详情表前5组每组的数目为:\n',detailGroup.size().head())



# 代码 4-65
dayMean = detailGroup.agg({'amounts':np.mean})
print('订单详情表前五组每日菜品均价为:\n',dayMean.head())

dayMedian = detailGroup.agg({'amounts':np.median})
print('订单详情表前五组每日菜品售价中位数为:\n',dayMedian.head())


# 代码 4-66
daySaleSum = detailGroup.apply(np.sum)['counts']
print('订单详情表前五组每日菜品售出数目为:\n',daySaleSum.head())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值