综合练习(下)

    技术2022-07-11  84

    第一题

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

    data = pd.read_csv('端午粽子数据.csv') data.columns = data.columns.str.strip() data.info # 修改错误价格 ex = data[~data['价格'].str.contains(r'^[-+]?[0-9]*\.?[0-9]+$')].index data.loc[ex,'价格'] = 45 # 删除最后一列为空的行 data_drop = data[data['发货地址'].notna()] # 查看最后为杭州 data_drop['发货地址'].nunique() data_drop['发货地址'].str.contains(r'杭州').value_counts() data_hz = data_drop[data_drop['发货地址'].str.contains(r'杭州')] # 计算均值 data_hz['价格'] = data_hz['价格'].astype('float') data_hz['价格'].mean()

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

    a = data['标题'].str.contains('嘉兴') b = 1-data['发货地址'].str.contains('嘉兴') df_jx = data[a & b] df_jx.shape[0]

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

    ```python data.info data['价格'] = data['价格'].astype('float') data['类别'] = pd.qcut(data['价格'], 5, labels=['低', '较低', '中', '较高', '高']) data_new = data.sort_values(by='类别', ascending=False) data_new['类别'].value_counts()
    Processed: 0.017, SQL: 9