日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

2组语法,1个函数,教你学会用Python做数据分析!

發(fā)布時間:2023/12/14 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2组语法,1个函数,教你学会用Python做数据分析! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

和很多同學接觸過程中,我發(fā)現(xiàn)自學Python數(shù)據(jù)分析的一個難點是資料繁多,過于復雜。大部分網(wǎng)上的資料總是從Python語法教起,夾雜著大量Python開發(fā)的知識點,花了很多時間卻始終云里霧里,不知道哪些知識才是真正有用的。本來以為上手就能寫爬蟲出圖,卻在看基礎的過程中消耗了一周又一周,以至于很多勵志學習Python的小伙伴犧牲在了入門的前一步。

(文末送讀者福利)

于是,我總結了以下一篇干貨,來幫助大家理清思路,提高學習效率。總共分為三大部分:做Python數(shù)據(jù)分析必知的語法,如何實現(xiàn)爬蟲,怎么做數(shù)據(jù)分析。

(文末送讀者福利)

1.必須知道的兩組Python基礎術語

A.變量和賦值

Python可以直接定義變量名字并進行賦值的,例如我們寫出a = 4時,Python解釋器干了兩件事情:

在內(nèi)存中創(chuàng)建了一個值為4的整型數(shù)據(jù)

在內(nèi)存中創(chuàng)建了一個名為a的變量,并把它指向4

用一張示意圖表示Python變量和賦值的重點:


例如下圖代碼,“=”的作用就是賦值,同時Python會自動識別數(shù)據(jù)類型:


B.數(shù)據(jù)類型

在初級的數(shù)據(jù)分析過程中,有三種數(shù)據(jù)類型是很常見的:

列表list(Python內(nèi)置)

字典dic(Python內(nèi)置)

DataFrame(工具包pandas下的數(shù)據(jù)類型,需要import pandas才能調(diào)用)

它們分別是這么寫的:

列表(list):

#列表 liebiao=[1,2.223,-3,'劉強東','章澤天','周杰倫','昆凌',['微博','B站','抖音']]

list是一種有序的集合,里面的元素可以是之前提到的任何一種數(shù)據(jù)格式和數(shù)據(jù)類型(整型、浮點、列表……),并可以隨時指定順序添加其中的元素,其形式是:

#ist是一個可變的有序表,所以,可以往list中追加元素到末尾: liebiao.append('瘦') ptint(liebiao) #結果1 >>>[1, 2.223, -3, '劉強東', '章澤天', '周杰倫', '昆凌', ['微博', 'B站', '抖音'], '瘦']#也可以把元素插入到指定的位置,比如索引號為5的位置,插入“胖”這個元素: liebiao.insert(5, '胖') ptint(liebiao) #結果2 >>>[1, 2.223, -3, '劉強東', '章澤天', '胖', '周杰倫', '昆凌', ['微博', 'B站', '抖音'], '瘦']

字典(dict):

#字典 zidian={'劉強東':'46','章澤天':'36','周杰倫':'40','昆凌':'26'}

字典使用鍵-值(key-value)存儲,無序,具有極快的查找速度。以上面的字典為例,想要快速知道周杰倫的年齡,就可以這么寫:

zidian['周杰倫'] >>>'40'

dict內(nèi)部存放的順序和key放入的順序是沒有關系的,也就是說,"章澤天"并非是在"劉強東"的后面。

DataFrame:

DataFrame可以簡單理解為excel里的表格格式。導入pandas包后,字典和列表都可以轉(zhuǎn)化為DataFrame,以上面的字典為例,轉(zhuǎn)化為DataFrame是這樣的:

import pandas as pddf=pd.DataFrame.from_dict(zidian,orient='index',columns=['age'])#注意DataFrame的D和F是大寫 df=df.reset_index().rename(columns={'index':'name'})#給姓名加上字段名


和excel一樣,DataFrame的任何一列或任何一行都可以單獨選出進行分析。

以上三種數(shù)據(jù)類型是python數(shù)據(jù)分析中用的最多的類型,基礎語法到此結束,接下來就可以著手寫一些函數(shù)計算數(shù)據(jù)了。

2.從Python爬蟲學循環(huán)函數(shù)

掌握了以上基本語法概念,我們就足以開始學習一些有趣的函數(shù)。我們以爬蟲中繞不開的遍歷url為例,講講大家最難理解的循環(huán)函數(shù)for的用法:

A.for函數(shù)

for函數(shù)是一個常見的循環(huán)函數(shù),先從簡單代碼理解for函數(shù)的用途:

zidian={'劉強東':'46','章澤天':'36','周杰倫':'40','昆凌':'26'} for key in zidian:print(key) >>> 劉強東 章澤天 周杰倫 昆凌

因為dict的存儲不是按照list的方式順序排列,所以,迭代出的結果順序很可能不是每次都一樣。默認情況下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同時#迭代key和value,可以用for k, v in d.items()

可以看到,字典里的人名被一一打印出來了。for 函數(shù)的作用就是用于遍歷數(shù)據(jù)。掌握for函數(shù),可以說是真正入門了Python函數(shù)。

B.爬蟲和循環(huán)

for函數(shù)在書寫Python爬蟲中經(jīng)常被應用,因為爬蟲經(jīng)常需要遍歷每一個網(wǎng)頁,以獲取信息,所以構建完整而正確的網(wǎng)頁鏈接十分關鍵。以某票房數(shù)據(jù)網(wǎng)為例,他的網(wǎng)站信息長這樣:



仔細觀察,該網(wǎng)站不同日期的票房數(shù)據(jù)網(wǎng)址(url)只有后面的日期在變化,訪問不同的網(wǎng)址(url)就可以看到不同日期下的票房數(shù)據(jù):


我們要做的是,遍歷每一個日期下的網(wǎng)址,用Python代碼把數(shù)據(jù)爬下來。此時for函數(shù)就派上用場了,使用它我們可以快速生成多個符合條件的網(wǎng)址:


為了方便理解,我給大家畫了一個for函數(shù)的遍歷過程示意圖:


此處省略掉后續(xù)爬取過程,相關爬蟲代碼見文末。我們使用爬蟲爬取了5800+條數(shù)據(jù),包含20個字段,時間囊括了從2008年1月開始至2019年2月十一年期間的單周票房、累計票房、觀影人次、場均人次、場均票價、場次環(huán)比變化等信息。

3.Python怎么實現(xiàn)數(shù)據(jù)分析?

除了爬蟲,分析數(shù)據(jù)也是Python的重要用途之一,Excel能做的事,Python究竟怎么實現(xiàn)呢;Excel不能做的事,Python又是否能實現(xiàn)呢?利用電影票房數(shù)據(jù),我們分別舉一個例子說明:

A.Python分析

在做好數(shù)據(jù)采集和導入后,選擇字段進行初步分析可以說是數(shù)據(jù)分析的必經(jīng)之路。在Dataframe數(shù)據(jù)格式的幫助下,這個步驟變得很簡單。

比如當我們想看單周票房第一的排名分別都是哪些電影時,可以使用pandas工具庫中常用的方法,篩選出周票房為第一名的所有數(shù)據(jù),并保留相同電影中周票房最高的數(shù)據(jù)進行分析整理:

import pandas as pd data = pd.read_csv('中國票房數(shù)據(jù)爬取測試20071-20192.csv',engine='python') data[data['平均上座人數(shù)']>20]['電影名'] #計算周票房第一隨時間變化的結果,導入數(shù)據(jù),并選擇平均上座人數(shù)在20以上的電影為有效數(shù)據(jù)dataTop1_week = data[data['排名']==1][['電影名','周票房']] #取出周票房排名為第一名的所有數(shù)據(jù),并保留“電影名”和“周票房”兩列數(shù)據(jù)dataTop1_week = dataTop1_week.groupby('電影名').max()['周票房'].reset_index() #用“電影名”來分組數(shù)據(jù),相同電影連續(xù)霸榜的選擇最大的周票房保留,其他數(shù)據(jù)刪除dataTop1_week = dataTop1_week.sort_values(by='周票房',ascending=False) #將數(shù)據(jù)按照“周票房”進行降序排序dataTop1_week.index = dataTop1_week['電影名'] del dataTop1_week['電影名'] #整理index列,使之變?yōu)殡娪懊?#xff0c;并刪掉原來的電影名列dataTop1_week #查看數(shù)據(jù)


9行代碼,我們完成了Excel里的透視表、拖動、排序等鼠標點擊動作。最后再用Python中的可視化包matplotlib,快速出圖:



B.函數(shù)化分析

以上是一個簡單的統(tǒng)計分析過程。接下來就講講Excel基礎功能不能做的事——自定義函數(shù)提效。觀察數(shù)據(jù)可以發(fā)現(xiàn),數(shù)據(jù)中記錄了周票房和總票房的排名,那么剛剛計算了周票房排名的代碼,還能不能復用做一張總票房分析呢?


當然可以,只要使用def函數(shù)和剛剛寫好的代碼建立自定義函數(shù),并說明函數(shù)規(guī)則即可:

def pypic(pf):#定義一個pypic函數(shù),變量是pfdataTop1_sum = data[['電影名',pf]]#取出源數(shù)據(jù)中,列名為“電影名”和pf兩列數(shù)據(jù)dataTop1_sum = dataTop1_sum.groupby('電影名').max()[pf].reset_index()#用“電影名”來分組數(shù)據(jù),相同電影連續(xù)霸榜的選擇最大的pf票房保留,其他數(shù)據(jù)刪除dataTop1_sum = dataTop1_sum.sort_values(by=pf,ascending=False)#將數(shù)據(jù)按照pf進行降序排序dataTop1_sum.index = dataTop1_sum['電影名']del dataTop1_sum['電影名']#整理index列,使之變?yōu)殡娪懊?#xff0c;并刪掉原來的電影名列dataTop1_sum[:20].iloc[::-1].plot.barh(figsize = (6,10),color = 'orange')name=pf+'top20分析'plt.title(name)#根據(jù)函數(shù)變量名出圖

定義函數(shù)后,批量出圖so easy:



學會函數(shù)的構建,一個數(shù)據(jù)分析師才算真正能夠告別Excel的鼠標點擊模式,邁入高效分析的領域。

4.光看不練是永遠不能入門的

如果只有一小時學習,以上就是大家一定要掌握的Python知識點。光看不練永遠都會是門外漢,如果你有興趣學習Python數(shù)據(jù)分析,卻在過程中感到困惑,不用迷茫,小編為大家?guī)砹藢W習資料,讓你快速入門Python數(shù)據(jù)分析:

讀者福利:知道你對Python感興趣,便準備了這套python學習資料

對于0基礎小白入門:

如果你是零基礎小白,想快速入門Python是可以考慮的。

一方面是學習時間相對較短,學習內(nèi)容更全面更集中。
二方面還可以找到適合自己的學習方案

包括:Python永久使用安裝包、Python web開發(fā),Python爬蟲,Python數(shù)據(jù)分析,人工智能、機器學習等學習教程。帶你從零基礎系統(tǒng)性的學好Python!

零基礎Python學習資源介紹

👉Python學習路線匯總👈

Python所有方向的技術點做的整理,形成各個領域的知識點匯總,它的用處就在于,你可以按照上面的知識點去找對應的學習資源,保證自己學得較為全面。(學習教程文末領取哈)

👉Python必備開發(fā)工具👈

溫馨提示:篇幅有限,已打包文件夾,獲取方式在:文末

👉Python學習視頻600合集👈

觀看零基礎學習視頻,看視頻學習是最快捷也是最有效果的方式,跟著視頻中老師的思路,從基礎到深入,還是很容易入門的。

👉實戰(zhàn)案例👈

光學理論是沒用的,要學會跟著一起敲,要動手實操,才能將自己的所學運用到實際當中去,這時候可以搞點實戰(zhàn)案例來學習。

👉100道Python練習題👈

檢查學習結果。

👉面試刷題👈



資料領取

這份完整版的Python全套學習資料已為大家備好,朋友們?nèi)绻枰梢晕⑿艗呙柘路蕉S碼添加,輸入"領取資料" 可免費領取全套資料【有什么需要協(xié)作的還可以隨時聯(lián)系我】朋友圈也會不定時的更新最前言python知識。

這世界上賺錢成本最低的就是:用知識投資大腦

人生什么時候?qū)W習都不晚,晚的是你一直想學卻一直沒有行動,而導致大量內(nèi)耗

最后祝你學習愉快

好文推薦

了解python的前景:https://blog.csdn.net/weixin_49891576/article/details/127187029

python有什么用:https://blog.csdn.net/weixin_49891576/article/details/127125308

總結

以上是生活随笔為你收集整理的2组语法,1个函数,教你学会用Python做数据分析!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。