pandas综合练习

一、端午节的淘宝粽子交易
问题 :
(1)
请删除最后一列为缺失值的行,并求所有在杭州发货的商品单价均值。

import pandas as pd
# import numpy as np
df = pd.read_csv('PandasTest\端午粽子数据.csv')
df.drop(df[df['发货地址 '].isna()].index, inplace = True)
print(df[df['发货地址 '].isna()].index)

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

import pandas as pd
# import numpy as np
df = pd.read_csv('PandasTest\端午粽子数据.csv')
df_bt_jx = df[df['标题'].str.contains(r'[嘉兴]{2}')]
print(df_bt_jx[df_bt_jx['发货地址 '].str.contains(r'[嘉兴]{2}') == False])

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

import pandas as pd
import numpy as np
df = pd.read_csv('PandasTest\端午粽子数据.csv')
# print(df[~df[' 价格'].str.match(r'-?\d+\.?\d+$')])
df[' 价格'].loc[4376] = 45
df[' 价格'].loc[538] = 45.9
df[' 价格'] = df[' 价格'].astype('float64')
df_quantile = df[' 价格'].quantile([0.2, 0.4, 0.6, 0.8])
df_lb = pd.cut(df[' 价格'], list([0, df_quantile[0.2], df_quantile[0.4], \
    df_quantile[0.6], df_quantile[0.8], np.inf]), \
    labels = ['低', '较低', '中', '较高', '高'], right=False)
df.insert(1,'类别', df_lb)
df.sort_values(['类别'], ascending = False).head()
print(df)

(4) 付款人数一栏有缺失值吗?若有则请利用上一问的分类结果对这些缺失 值进行合理估计并填充。

import pandas as pd
df = pd.read_csv('PandasTest\端午粽子数据.csv')
print(df[df['付款人数'].isna()])

(5) 请将数据后四列合并为如下格式的 Series:商品发货地为 ××,店铺为 ××,共计 ×× 人付款,单价为 ××。

import pandas as pd
df = pd.read_csv('PandasTest\端午粽子数据.csv')
df_cat = '商品发货地为:' + df['发货地址 '] + ',店铺为:' + df['店铺'] + ',共计' +\
    df['付款人数'] + ',单价为:' + df[' 价格']
print(df_cat)

(6) 请将上一问中的结果恢复成原来的四列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值