問題
(1) 請刪除最後一列為缺失值的行,並求所有在杭州發貨的商品單價均值。
(2) 商品標題帶有「嘉興」但發貨地卻不在嘉興的商品有多少條記錄?
(3) 請按照分位數將**分為「高、較高、中、較低、低」5 個類別,再將 類別結果插入到標題一列之後,最後對類別列進行降序排序。
(4) 付款人數一欄有缺失值嗎?若有則請利用上一問的分類結果對這些缺失 值進行合理估計並填充。
(5) 請將資料後四列合併為如下格式的 series:商品發貨地為 ××,店鋪為 ××,共計 ×× 人付款,單價為 ××。
(6) 請將上一問中的結果恢復成原來的四列。
in [1]
:import pandas as pd
import numpy as np
in [2]
:df_duanwu = pd.read_csv(
'./練習/端午粽子資料.csv'
) df_duanwu.info(
)#(1) 請刪除最後一列為缺失值的行,並求所有在杭州發貨的商品單價均值。
in [3]
:df_zongzi = df_duanwu.copy(
).dropna(axis=
0,subset=
['發貨位址 '])
pd.to_numeric(df_01[df_zongzi[
'發貨位址 '].
str.contains(
'杭州')]
[' **'
],errors=
'coerce'
).mean().
round
(decimals=2)
#(2) 商品標題帶有「嘉興」但發貨地卻不在嘉興的商品有多少條記錄?
in [4]
:df_zongzi[
(df_01[
'標題'].
str.contains(
'嘉興'))
&(~df_zongzi[
'發貨位址 '].
str.contains(
'嘉興'))
].shape[0]
#(3) 請按照分位數將**分為「高、較高、中、較低、低」5 個類別,再將 類別結果插入到標題一列之後,最後對類別列進行降序排序。
in [5]
:df_zongzi.loc[:,
' **'
]= pd.to_numeric(df_zongzi.loc[:,
' **'
],errors=
'coerce'
) q =
[df_zongzi.loc[:,
' **'
].quantile(i)
for i in[0
,.2,.4
,.6,.8
,1]]
;q[-1]
+=1df_zongzi.loc[:,
'**類別'
]= pd.cut(df_zongzi[
' **'
],q,right=
false
,labels=
['低'
,'較低'
,'中'
,'較高'
,'高'])
in [6]
:df_zongzi.loc[:,
['標題'
,'**類別'
,' **'
,'付款人數'
,'店鋪'
,'發貨位址 ']]
.sort_values(by=
'**類別'
)#(4) 付款人數一欄有缺失值嗎?若有則請利用上一問的分類結果對這些缺失 值進行合理估計並填充。
in [7]
#非缺失值有 4329/4400
df_o4 = df_zogzi.copy(
) df_04.info(
)#用同**類別的付款人數均值(不考慮100餘條類似1.0萬+、5000+等較大數值。)
in [8]
:grouped = df_04.groupby(
'**類別'
)for name,group in grouped:
df_04.loc[group.index,
'付款人數']=
str(
int(pd.to_numeric(group[
'付款人數'
].astype(
str)
.str[:
-3],errors=
'coerce'
).mean())
)+'人付款'
df_04.info(
)#(5) 請將資料後四列合併為如下格式的 series:商品發貨地為 ××,店鋪為 ××,共計 ×× 人付款,單價為 ××。
in [9]
:df_05 = df_04.astype(
str)
df_str3 =
('商品發貨地為'
+df_05[
'發貨位址 ']+
',店鋪為'
+df_05[
'店鋪']+
',共計'
+df_05[
'付款人數']+
',單價為'
+df_05[
' **']+
'。')
df_str3.head(
)#(6) 請將上一問中的結果恢復成原來的四列。
in [10]
:df_res = df_str3.
str.extract(r'商品發貨地為(?p《發貨位址》[\w]+\s*[\w]+),店鋪為(?p《店鋪》[\w]+),共計(?p《付款人數》[\w]+\+*[\w]+),單價為(?p《**》[\d]+\.*[\d]+)。'
) df_res.head(
)
Pandas學習之綜合練習
1.刪除最後一列為缺失值的行,並求所有在杭州發貨的商品單價均值 刪除某列為缺失值的行,有兩種方法 第一種方法 利用notna 函式,篩選出該列不為空值的行,則相當於把該列為空值的行刪除掉了 import numpy as np import pandas as pd df pd.read csv e...
Pandas基礎 綜合練習 Python學習筆記
1 請刪除最後一列為缺失值的行,並求所有在杭州發貨的商品單價均值。2 商品標題帶有 嘉興 但發貨地卻不在嘉興的商品有多少條記錄?3 請按照分位數將 分為 高 較高 中 較低 低 5 個類別,再將 類別結果插入到標題一列之後,最後對類別列進行降序排序。4 付款人數一欄有缺失值嗎?若有則請利用上一問的分...
Task05 基於pandas綜合練習
問題 1 請刪除最後一列為缺失值的行,並求所有在杭州發貨的商品單價均值。2 商品標題帶有 嘉興 但發貨地卻不在嘉興的商品有多少條記錄?3 請按照分位數將 分為 高 較高 中 較低 低 5 個類別,再將 類別結果插入到標題一列之後,最後對類別列進行降序排序。4 付款人數一欄有缺失值嗎?若有則請利用上一...