综合练习下(未完成)

一、端午节的淘宝粽子交易(参考大佬的)

(1) 请删除最后一列为缺失值的行,并求所有在杭州发货的商品单价均值。

import pandas as pd
data = pd.read_csv("端午粽子数据.csv")
# (1) 请删除最后一列为缺失值的行,并求所有在杭州发货的商品单价均值。
data.columns = data.columns.str.strip()
data = data.dropna(subset=['发货地址'])
py =data[data['发货地址'].str.contains("杭州")]
py.loc[~py['价格'].str.match(r'^\d+\.?\d+$')]   #用正则表达式否定得出
import numpy as np
py.loc[4376, '价格'] = 45
mean =py['价格'].astype('float').mean()

(2) 商品标题带有“嘉兴”但发货地却不在嘉兴的商品有多少条记录?

#(2) 商品标题带有“嘉兴”但发货地却不在嘉兴的商品有多少条记录?
jx = data.loc[data["标题"].str.contains("嘉兴")]
jx.loc[~jx["发货地址"].str.contains("嘉兴")].shape[0]

(3) 请按照分位数将价格分为“高、较高、中、较低、低”5 个类别,再将
类别结果插入到标题一列之后,最后对类别列进行降序排序。

#(3) 请按照分位数将价格分为“高、较高、中、较低、低”5 个类别,再将类别结果插入到标题一列之后,最后对类别列进行降序排序。
data.loc[~data['价格'].str.match(r'^\d+\.?\d+$')]
data.loc[[538, 4376], '价格'] = [45.9, 45]
data['价格'] = data['价格'].astype('float')
# 按照百分位数分组
data['价位'] = pd.cut(data['价格'], bins=np.percentile(data['价格'], [0, 20, 40, 60, 80, 100]), labels=['低', '较低', '中', '较高', '高'])
l=cols = list(data.columns)#列名称列表
cols.remove('价位')    #删除原列名
cols.insert(1, '价位') #添加新列名
data = data[cols]
data.sort_values('价位', ascending=False) #排序

(4) 付款人数一栏有缺失值吗?若有则请利用上一问的分类结果对这些缺失
值进行合理估计并填充。
(5) 请将数据后四列合并为如下格式的 Series:商品发货地为 ××,店铺为
××,共计 ×× 人付款,单价为 ××。
(6) 请将上一问中的结果恢复成原来的四列。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值