dataframe類型數據的遍歷_Python零基礎入門到爬蟲再到數據分析,這些你都是要學會的...

808250591d25ea1043325b845f51ac3b.png

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

A.變量和賦值

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

  • 在內存中創建了一個值為4的整型數據
  • 在內存中創建了一個名為a的變量,并把它指向4

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

eddca4a169f9cdc62d5f2b417f878c3f.png

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

請閱讀代碼塊里的代碼和注釋,你會發現Python是及其易讀易懂的。

B.數據類型

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

  • 列表list(Python內置)
  • 字典dic(Python內置)
  • DataFrame(工具包pandas下的數據類型,需要import pandas才能調用)

它們分別是這么寫的:

列表(list):

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

字典(dict):

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

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

DataFrame:

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

babd528ccb88593a80cbb1d5d8705760.png

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

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

從Python爬蟲學循環函數

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

A.for函數

for函數是一個常見的循環函數,先從簡單代碼理解for函數的用途:

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

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

B.爬蟲和循環

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

bfd397edd09d2ffdd361c2bd401d7486.png
36a952e844cf5611cbbc8c669b4724a5.png

該網站的周票房json數據地址可以通過抓包工具找到,網址為http://www.cbooo.cn/BoxOffice/getWeekInfoData?sdate=20190114

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

a79737b2321c61e2356f55574e87e6ce.png

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

533ba991690ef91d7e41d53588c0afb6.png

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

bea683b44caa422d17d3e096dfa3ef54.png

3.Python怎么實現數據分析?

A.Python分析

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

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

963f6e15e155c55cfa7a098d4a979779.png

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

85266952a673c77c35dee90fe6ef6ecd.png

B.函數化分析

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

6e62d47169402df383c7a9c4feb29913.png

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

8a49d1fafe748f8a79117991211bbaf5.png

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260587.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260587.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260587.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第5章 Python 數字圖像處理(DIP) - 圖像復原與重建12 - 空間濾波 - 使用頻率域濾波降低周期噪聲 - 陷波濾波、最優陷波濾波

標題使用頻率域濾波降低周期噪聲陷波濾波深入介紹最優陷波濾波本章陷波濾波器有部分得出的結果不佳,如果有更好的解決方案,請賜教,不勝感激。 使用頻率域濾波降低周期噪聲 陷波濾波深入介紹 零相移濾波器必須關于原點(頻率矩形中心)對稱&a…

Android之Menu動態改變文字

Menu創建: Override//這里遇到一個問題add的是MenuItem的idpublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubmenu.add(0,1023, 0, "一");menu.add(0,1022, 1, "開啟線程");Log.e("onCreateOptionsMenu…

iOS 開發周報:Apple 發布 iPhone 7 / 7 Plus 、Apple Watch 2 等新品

新聞\\Apple 發布 iPhone 7 / 7 Plus 、Apple Watch 2 等新品:Apple 正式發布了 iPhone 7 / 7 Plus、Apple Watch 2 新品,帶來 AirPods 無線耳機,并把馬里奧帶進了 iOS。iPhone 7 新增亮黑色,移除3.5mm 耳機孔,支持 IP…

python寫界面c這算法_插入算法分別從C,java,python三種語言進行書寫

真正學懂計算機的人(不只是“編程匠”)都對數學有相當的造詣,既能用科學家的嚴謹思維來求證,也能用工程師的務實手段來解決問題——而這種思維和手段的最佳演繹就是“算法”。 作為一個初級編程人員或者說是一個程序員&#xff0c…

去掉xcode中警告的一些經驗

1、編譯時,編譯警告忽略掉某些文件 只需在在文件的Compiler Flags 中加入 -w 參數,例如: 2、編譯時,編譯警告忽略掉某段代碼 #pragma clang diagnostic push#pragma clang diagnostic ignored "-Wmultichar"char b df;…

富士施樂3065掃描教程_全面支持IT國產化 富士施樂70款機型獲統信UOS兼容認證

最近,富士施樂(中國)有限公司宣布共70款機型獲得國產操作系統統信UOS的兼容認證,其中包括新一代ApeosPort旗艦智能型數碼多功能機、多功能一體機/打印機、生產型數字印刷系統。這是繼獲得中標麒麟、龍芯和兆芯兼容認證后&#xff…

Flash系統字體中的中文字體問題

在flash中使用as來改變textfield的中文字體 ,遇到發布版本超過10.2的時候,會悲劇!不支持使用中文名稱來改變字體。 解決辦法:1)使用英文名稱。2)發布的版本低于10.2 label:TextField new TextField(); for…

第5章 Python 數字圖像處理(DIP) - 圖像復原與重建13 - 空間濾波 - 線性位置不變退化 - 退化函數估計、運動模糊函數

標題線性位置不變退化估計退化函數采用觀察法估計退化函數采用試驗法估計退化函數采用建模法估計退化函數運動模糊函數OpenCV Motion Blur在這一節中,得到的結果,有些不是很好,我需要再努力多找資料,重新完成學習,如果…

視覺感受排序算法

1. 快速排序 介紹: 快速排序是由東尼霍爾所發展的一種排序算法。在平均狀況下,排序 n 個項目要Ο(n log n)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況并不常見。事實上,快速排序通常明顯比其他Ο(n log n) 算法更快&…

python如何自定義函數_python如何自定義函數_后端開發

c語言特點是什么_后端開發 c語言特點是:1、語言簡潔、緊湊,使用方便、靈活;2、運算符豐富;3、數據結構豐富,具有現代化語言的各種數據結構;4、具有結構化的控制語句;5、語法限制不太嚴度格&…

js/css 檢測移動設備方向的變化 判斷橫豎屏幕

js/css 檢測移動設備方向的變化 判斷橫豎屏幕 方法一:用觸發手機的橫屏和豎屏之間的切換的事件 window.addEventListener("orientationchange", function() { // 宣布新方向的數值 alert(window.orientation); }, false); // 方法二&#xff1…

第5章 Python 數字圖像處理(DIP) - 圖像復原與重建14 - 逆濾波

標題逆濾波逆濾波逆濾波 逆濾波 圖像的退化函數已知或者由前面的方法獲取退化函數,則可以直接逆濾波 F^(u,v)G(u,v)H(u,v)(5.78)\hat{F}(u,v) \frac{G(u,v)}{H(u,v)} \tag{5.78}F^(u,v)H(u,v)G(u,v)?(5.78) F^(u,v)F(u,v)N(u,v)H(u,v)(5.79)\hat{F}(u,v) F(u, …

SetFormFullScreen()窗體全屏顯示

{讓窗體全屏顯示} //SetFormFullScreen(Form1); procedure SetFormFullScreen(Form:TForm); begin Form.BorderStyle:bsNone; Form.WindowState:wsMaximized; Form.Color:clBlack; end; 通過 為知筆記 發布轉載于:https://www.cnblogs.com/xe2011/archive/2012/07/26/2609327.h…

表示自己從頭開始的句子_微信拍一拍后綴幽默回復有趣的句子 拍了拍唯美內容文案...

閱讀本文前,請您先點擊上面的“藍色字體”,再點擊“關注”,這樣您就可以繼續免費收到文章了。每天都會有分享,都是免費訂閱,請您放心關注。注圖文來源網絡,侵刪 …

HoloLens開發手記 - Unity之Tracking loss

當HoloLens設備不能識別到自己在世界中的位置時,應用就會發生tracking loss。默認情況下,Unity會暫停Update更新循環并顯示一張閃屏圖片給用戶。當設備重新能追蹤到位置時,閃屏圖片會消失,并且Update循環還會繼續。 此外&#xff…

運維學python用不上_不會Python開發的運維終將被淘汰?

簡介 Python 語言是一種面向對象、直譯式計算機程序設計語言,由 Guido van Rossum 于 1989 年底發明。Python 語法簡捷而清晰,具有豐富和強大的類庫,具有可擴展性和可嵌入性,是現代比較流行的語言。最流行的語言 IEEE Spectrum 的…

windows驅動開發詳解學習筆記

1. windows驅動分兩類,NT式驅動和WDM驅動,后者支持即插即用; 2. DriverEntry是入口函數,傳入參數:pDriverObject由IO管理器傳入; 3. WDM驅動中,AddDevice創建設備對象,由PnP管理器調…

第5章 Python 數字圖像處理(DIP) - 圖像復原與重建15 - 最小均方誤差(維納)濾波

標題最小均方誤差(維納)濾波最小均方誤差(維納)濾波 目標是求未污染圖像fff的一個估計f^\hat{f}f^?,使它們之間的均方誤差最小。 e2E{(f?f^)2}(5.80)e^2 E \big\{(f - \hat{f})^2 \big\} \tag{5.80}e2E{(f?f^?)2…

入網許可證_入網許可證怎么辦理,申請流程

移動通信系統及終端投資項目核準的若干規定》的出臺,打開了更多企業進入手機業的大門,然而一些企業在關心拿到手機牌照后,是不是就是意味了拿到入網許可證,就可以上市銷售。某些廠商認為:"手機牌照實行核準制,意味…

OpenGL編程低級錯誤范例手冊

看到一篇OpenGL編程的錯誤總結,對我初學來說應該比較有用,先保留,嘿嘿... 謝謝原文作者的貢獻:http://www.cnitblog.com/linghuye/archive/2005/08/13/1845.html 1.沒有glDisable(GL_TEXTURE_2D),導致基本幾何作圖全部失敗。 2.鏡…