1.刪除最後一列為缺失值的行,並求所有在杭州發貨的商品單價均值
刪除某列為缺失值的行,有兩種方法:
第一種方法
利用notna()函式,篩選出該列不為空值的行,則相當於把該列為空值的行刪除掉了
import numpy as np
import pandas as pd
df = pd.read_csv(
"e:/data/zongzi.csv"
,names=
['a'
,'b'
,'c'
,'d'
,'e'])
.convert_dtypes(
)df.head(
)
ab
cde0
標題**
付款人數
店鋪發貨位址
1五芳齋粽子禮盒 心悅+18只裝鹹鴨蛋組合端午節禮品**嘉興肉粽子
1296人付款
五芳齋官方***
浙江 嘉興
2北京稻香村端午粽子手工豆沙粽220g*2袋散裝豆沙粽香甜軟糯豆沙粽
448人付款
天貓超市上海3
五芳齋粽子禮盒裝鮮肉鹹蛋黃大肉粽嘉興豆沙甜粽端午**散裝禮品
89.9
100萬+人付款
五芳齋官方***
浙江 嘉興
4稻香私房鮮肉粽蛋黃肉粽嘉興粽子鹹鴨蛋禮盒裝端午節送禮特產**
1381936人付款
稻香村食品***
北京
import numpy as np
import pandas as pd
data = pd.read_csv(
'e:/data/zongzi.csv'
)data.head(
)
標題**
付款人數
店鋪發貨位址
0五芳齋粽子禮盒 心悅+18只裝鹹鴨蛋組合端午節禮品**嘉興肉粽子
1296人付款
五芳齋官方***
浙江 嘉興
1北京稻香村端午粽子手工豆沙粽220g*2袋散裝豆沙粽香甜軟糯豆沙粽
448人付款
天貓超市上海2
五芳齋粽子禮盒裝鮮肉鹹蛋黃大肉粽嘉興豆沙甜粽端午**散裝禮品
89.9
100萬+人付款
五芳齋官方***
浙江 嘉興
3稻香私房鮮肉粽蛋黃肉粽嘉興粽子鹹鴨蛋禮盒裝端午節送禮特產**
1381936人付款
稻香村食品***北京4
嘉興粽子 蛋黃鮮肉粽新鮮大肉粽早餐散裝**浙江特產蜜棗多口味
3.89500+人付款
城城餵食貓
浙江 嘉興
data.info(
)
rangeindex: 4403 entries, 0 to 4402
data columns (total 5 columns):
# column non-null count dtype
--- ------ -------------- -----
0 標題 4403 non-null object
1 ** 4403 non-null object
2 付款人數 4332 non-null object
3 店鋪 4403 non-null object
4 發貨位址 4400 non-null object
dtypes: object(5)
memory usage: 172.1+ kb
data = data[data[
'發貨位址 '
].notna(
)]
data.info(
)#可以看到data的記錄由原來的4403變成了4400,說明有三條空記錄被剔除掉了
int64index: 4400 entries, 0 to 4402
data columns (total 5 columns):
# column non-null count dtype
--- ------ -------------- -----
0 標題 4400 non-null object
1 ** 4400 non-null object
2 付款人數 4329 non-null object
3 店鋪 4400 non-null object
4 發貨位址 4400 non-null object
dtypes: object(5)
memory usage: 206.2+ kb
找出該列為空值的行的index,然後通過drop方法將該行刪除掉。
利用drop方法刪除最後一列有空值的行。
drop方法可以對dataframe物件某項索引值,包括行索引(index,axis = 0)和列索引(columns,axis = 1)
import numpy as np
import pandas as pd
data = pd.read_csv(
'e:/data/zongzi.csv'
)data.head(
)
標題**
付款人數
店鋪發貨位址
0五芳齋粽子禮盒 心悅+18只裝鹹鴨蛋組合端午節禮品**嘉興肉粽子
1296人付款
五芳齋官方***
浙江 嘉興
1北京稻香村端午粽子手工豆沙粽220g*2袋散裝豆沙粽香甜軟糯豆沙粽
448人付款
天貓超市上海2
五芳齋粽子禮盒裝鮮肉鹹蛋黃大肉粽嘉興豆沙甜粽端午**散裝禮品
89.9
100萬+人付款
五芳齋官方***
浙江 嘉興
3稻香私房鮮肉粽蛋黃肉粽嘉興粽子鹹鴨蛋禮盒裝端午節送禮特產**
1381936人付款
稻香村食品***北京4
嘉興粽子 蛋黃鮮肉粽新鮮大肉粽早餐散裝**浙江特產蜜棗多口味
3.89500+人付款
城城餵食貓
浙江 嘉興
data.info(
)#可以看到data是乙個4403行5列的資料
rangeindex: 4403 entries, 0 to 4402
data columns (total 5 columns):
# column non-null count dtype
--- ------ -------------- -----
0 標題 4403 non-null object
1 ** 4403 non-null object
2 付款人數 4332 non-null object
3 店鋪 4403 non-null object
4 發貨位址 4400 non-null object
dtypes: object(5)
memory usage: 172.1+ kb
data[
'發貨位址 '
].isnull(
).value_counts(
)
false 4400
true 3
name: 發貨位址 , dtype: int64
data[
'發貨位址 '
]= data[
'發貨位址 '
].fillna(
'999'
)
index_list = data[
(data[
'發貨位址 ']==
'999')]
.index.tolist(
)index_list
[1847, 2418, 2716]
data = data.drop(index_list,axis=
0)
data.info(
)
int64index: 4400 entries, 0 to 4402
data columns (total 5 columns):
# column non-null count dtype
--- ------ -------------- -----
0 標題 4400 non-null object
1 ** 4400 non-null object
2 付款人數 4329 non-null object
3 店鋪 4400 non-null object
4 發貨位址 4400 non-null object
dtypes: object(5)
memory usage: 206.2+ kb
Pandas 綜合練習
問題 1 請刪除最後一列為缺失值的行,並求所有在杭州發貨的商品單價均值。2 商品標題帶有 嘉興 但發貨地卻不在嘉興的商品有多少條記錄?3 請按照分位數將 分為 高 較高 中 較低 低 5 個類別,再將 類別結果插入到標題一列之後,最後對類別列進行降序排序。4 付款人數一欄有缺失值嗎?若有則請利用上一...
Pandas基礎 綜合練習 Python學習筆記
1 請刪除最後一列為缺失值的行,並求所有在杭州發貨的商品單價均值。2 商品標題帶有 嘉興 但發貨地卻不在嘉興的商品有多少條記錄?3 請按照分位數將 分為 高 較高 中 較低 低 5 個類別,再將 類別結果插入到標題一列之後,最後對類別列進行降序排序。4 付款人數一欄有缺失值嗎?若有則請利用上一問的分...
pandas 公益學習 綜合練習與學習總結
問題 1 哪一次拍賣的中標率首次小於 5 2 按年統計拍賣最低價的下列統計量 最大值 均值 0.75 分位數,要求 顯示在同一張表上。3 將第一列時間列拆分成兩個列,一列為年份 格式為 20 另一列為 月份 英語縮寫 新增到列表作為第一第二列,並將原表第一列刪除,其他列依次向後順延。4 現在將 行索...