综合练习下(未完成)

    技术2022-07-11  75

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

    (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) 请将上一问中的结果恢复成原来的四列。

    Processed: 0.009, SQL: 9