一、端午节的淘宝粽子交易
问题 :
(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) 请将上一问中的结果恢复成原来的四列。