數(shù)據(jù)用excel查看,加載了一定時(shí)間饼齿,查看數(shù)據(jù)量為十萬條屡萤。
jupyter notebook 平臺讀取csv文件
首先導(dǎo)入需要的工具包 pandas 、matplotlib,以及顯示圖標(biāo)的魔法函數(shù)%matplolib inline
pandas讀取csv數(shù)據(jù) 并簡單查看前五條數(shù)據(jù)穆壕,發(fā)現(xiàn)有空值:
數(shù)據(jù)清洗:
思考:考慮到空值數(shù)據(jù)類型不一樣待牵,采用自定義函數(shù)的方法進(jìn)行簡單填充。
方法:創(chuàng)建函數(shù)函數(shù)fill_nan(df)喇勋,遍歷每個(gè)列 缨该,對于object類型的數(shù)據(jù)用“缺失數(shù)據(jù)”字樣填充,否則一律用數(shù)字0填充川背。并查看后5條填充后的數(shù)據(jù)贰拿。
查看運(yùn)行結(jié)果,已經(jīng)填充完畢:
問題一:把日期數(shù)據(jù)轉(zhuǎn)變?yōu)镈atatimeIndex類熄云,即上圖箭頭所指膨更。
方法:創(chuàng)建函數(shù),按照每列的方向進(jìn)行遍歷缴允,利用格式化字符串把“年月日”字樣分別替換為一些常見的符號荚守,比如:2017年6月1日替換為2017/6/1
運(yùn)行結(jié)果:成功替換
問題二:來看看哪些導(dǎo)演的片子受歡迎,從好評率入手分析练般。
公式:好評率=好評數(shù)/評分人數(shù)
方法:1.按照“導(dǎo)演”字段分組矗漾,分別統(tǒng)計(jì)“好評數(shù) ” 和“評分人數(shù)” ,并相除計(jì)算出好評率薄料,僅計(jì)算top20敞贡。
2.可視化處理:好評率是100以內(nèi),計(jì)算結(jié)果為小數(shù)都办,故乘以100嫡锌,采用直方圖。
查看top20結(jié)果琳钉,基本好評率在98%以上势木,故設(shè)置y軸區(qū)間ylim=(97.9,100)之間。
可視化結(jié)果:
問題三:2001年——2016年評影人數(shù)有何變化趨勢歌懒?
思考:按照“上映年份”字段分組啦桌,對“評影人數(shù) ”字段求和,最后輸出2001——2016年的結(jié)果即可及皂,然后做面積圖甫男。
問題四:對于每年口碑電影在數(shù)據(jù)上如何篩選出來呢?(評分高验烧、評影人數(shù)高板驳、好評率高這些維度都可以作為衡量標(biāo)準(zhǔn))
思考:箱型圖中的異常可以用來判斷碍拆。
方法:1.提取數(shù)據(jù)若治,包含上映年份 劇名 評分人數(shù) 好評數(shù) 四個(gè)字段
2.創(chuàng)建4*4的共16個(gè)子圖
3.利用for循環(huán)先遍歷出每年數(shù)據(jù)慨蓝,再往指定位置上畫箱型圖。
4.對于那些電視劇是異常值端幼,如何將這劇名篩選出來是問題五的內(nèi)容啦礼烈。
箱型圖 :
問題五:16年間,每年的異常值是哪些電視劇呢婆跑?
思考:iqr1.5倍中度異常此熬,3倍為極度異常,按照iqr*3比較合適,以評分人數(shù)可以作為一個(gè)指標(biāo)來衡量異常劇滑进。(也可采用好評率犀忱、評分人數(shù)當(dāng)年總占比等數(shù)據(jù),日后討論)
方法:先以2001年為例計(jì)算出上下分位數(shù)(q1,q3)郊供、iqr峡碉,tmax 然后利用for循環(huán)遍歷出每年的tmax,最后自定義一個(gè)函數(shù)驮审,可以求出每年的tmax鲫寄。
思考:現(xiàn)已知tmax疯淫,大于tmax的行即為異常劇地来,