综合练习

一、端午节的淘宝粽子交易
问题
(1) 请删除最后一列为缺失值的行,并求所有在杭州发货的商品单价均值。
(2) 商品标题带有“嘉兴”但发货地却不在嘉兴的商品有多少条记录?
(3) 请按照分位数将价格分为“高、较高、中、较低、低”5 个类别,再将 类别结果插入到标题一列之后,最后对类别列进行降序排序。
(4) 付款人数一栏有缺失值吗?若有则请利用上一问的分类结果对这些缺失 值进行合理估计并填充。
(5) 请将数据后四列合并为如下格式的 Series:商品发货地为 ××,店铺为 ××,共计 ×× 人付款,单价为 ××。
(6) 请将上一问中的结果恢复成原来的四列。

In [1]:import pandas as pd
       import numpy as np
In [2]:df_duanwu = pd.read_csv('./练习/端午粽子数据.csv')
       df_duanwu.info()


#(1) 请删除最后一列为缺失值的行,并求所有在杭州发货的商品单价均值。
In [3]:df_zongzi = df_duanwu.copy().dropna(axis=0,subset=['发货地址 '])
       pd.to_numeric(df_01[df_zongzi['发货地址 '].str.contains('杭州')][' 价格'],errors='coerce').mean().round(decimals=2)


#(2) 商品标题带有“嘉兴”但发货地却不在嘉兴的商品有多少条记录?
In [4]:df_zongzi[(df_01['标题'].str.contains('嘉兴')) &(~df_zongzi['发货地址 '].str.contains('嘉兴'))].shape[0]


#(3) 请按照分位数将价格分为“高、较高、中、较低、低”5 个类别,再将 类别结果插入到标题一列之后,最后对类别列进行降序排序。
In [5]:df_zongzi.loc[:,' 价格'] = pd.to_numeric(df_zongzi.loc[:,' 价格'],errors='coerce')
       q = [df_zongzi.loc[:,' 价格'].quantile(i) for i in [0,.2,.4,.6,.8,1]];q[-1] += 1
df_zongzi.loc[:,'价格类别'] = pd.cut(df_zongzi[' 价格'],q,right=False,labels=['低','较低','中','较高','高'])
In [6]:df_zongzi.loc[:,['标题','价格类别', ' 价格', '付款人数', '店铺', '发货地址 ']].sort_values(by='价格类别')



#(4) 付款人数一栏有缺失值吗?若有则请利用上一问的分类结果对这些缺失 值进行合理估计并填充。
In [7]#非缺失值有 4329/4400
        df_o4 = df_zogzi.copy()
        df_04.info()

#用同价格类别的付款人数均值(不考虑100余条类似1.0万+、5000+等较大数值。)
In [8]:grouped = df_04.groupby('价格类别')
         for name,group in grouped:
         df_04.loc[group.index,'付款人数'] = str(int(pd.to_numeric(group['付款人数'].astype(str).str[:-3],errors='coerce').mean()))+'人付款'
         df_04.info()


#(5) 请将数据后四列合并为如下格式的 Series:商品发货地为 ××,店铺为 ××,共计 ×× 人付款,单价为 ××。
In [9]:df_05 = df_04.astype(str)
         df_str3 = ('商品发货地为'+df_05['发货地址 ']+',店铺为'+df_05['店铺']+',共计'+df_05['付款人数']+',单价为'+df_05[' 价格']+'。')
        df_str3.head()


#(6) 请将上一问中的结果恢复成原来的四列。
In [10]:df_res = df_str3.str.extract(r'商品发货地为(?P<发货地址>[\w]+\s*[\w]+),店铺为(?P<店铺>[\w]+),共计(?P<付款人数>[\w]+\+*[\w]+),单价为(?P<价格>[\d]+\.*[\d]+)。')
        df_res.head()

原文链接:https://blog.csdn.net/Ilovechase/article/details/107071202

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值