江湖險惡,不行就撤
-你以後想成為什麼樣的人?
-什麼意思,難道我以後就不能成為我自己了嗎?
————《阿甘正傳》
當然是打算學可愛的Python啦啦啦!
因為百度的時候看見廖雪峰老師的官方網站,感覺寫的好有趣呀~
但是啊!!這麼多天來,我感覺我啥也沒幹,就差從入門到放棄了,看書真的是看的很頭疼,完全不懂書裡面在說什麼,第二關數據結構的課程其實還蠻簡單(比起看書來說!),但是為啥書我一看就頭疼呢!!不開森~ 感覺腦瓜子要炸了,跑去問學長有什麼方法可以讓我開竅,於是有了以下對話,攤手┓( ′?` )┏
-你知道什麼是對象嗎?
-我沒有對象
-要不....你還是學做飯吧
-(⊙o⊙)...
社群數據結構課程:
因為想學的是Python,剛通關就聽了數據結構的課程,看見社群小夥伴用的導圖,我也試下!
一、數據結構是什麼?有什麼用?
數據結構能幹什麼...嗯...就像是醫生必須了解我們人體的結構,了解了細胞組織器官,然後就可以對人體進行解剖,更直白的說可以研究怎麼更快的殺一個人,或者造一個人,數據結構大致理解是類似的,你會更為有效的去建立數據與數據之間的聯繫。總之,它能幹什麼,不在於它是什麼,而在於"你想要做什麼"
課程中拿的是蓋房子來進行舉例,數據結構等同於蓋房子的材料,材料+框架=模型,像一堆堆凌亂的數據通過演算法就構成了程序。
二、Python的安裝
我是Win7的系統,然後安這個這個???64位安裝程序
至於Python的程序我是直接在IDLE裡面寫的額,剛開始學,非商業開發,也不用另外去找,(其實是我懶),反正基本的功能還都有,先湊合用著,等我學的多了換高級的!
三、學習數據結構的方法論
(社群是r語言為基礎的,我就只理解了概念)
1.學習定義 2.如何使用
1)向量
向量:單個向量中的數據必須擁有相同的數據類型(其實就是列)
使用:向量有多少個元素(向量的長度length)訪問向量中的某個元素(方括弧指定位置)
2)矩陣
矩陣:二維,有行有列
使用:獲取訪問矩陣中某行a[i]或某列a[j]或某值的元素a[i,j],還可以繪製柱狀圖
3)數組
數組:用array表示 三維
4)數據框
有很多列向量 (r語言)
使用:查找功能(通過$和列名來選取數據框中某一列) 敲黑板!重點!!
數據框的增加
5)列表
列表:集合各個數據結構
使用:存儲kpi結果6)因子
(沒講,以後會講)
(我印象中數據結構學的不都是線性,棧,隊列,樹,列表,圖,堆啥的嗎。。。。)
Python學習:
看完了課程,然後接下來就是無窮盡的磕書,死磕,遇見不會的名詞就百度,但是啊但是,真的很煩啊,很多最基礎的都不懂,我上學的時候到底都學了些啥!!啊啊啊啊 頭疼啊 直接丟開了書,我還是看看今晚吃什麼好吃的吧.....
經過了掙扎,我下了一本《Head First Python》,大概看了前幾章,哇塞!!竟然覺得能懂,還能慢慢試著寫,於是改變方案,先看這本,然後再看《利用Python進行數據分析》!
就這麼愉快的決定了~~~ 撒花??ヽ(°▽°)ノ?
要了解的基本概念:
數據類型(整數,浮點數,字元串,布爾值,空值,變數,常量)
字元編碼(一般為utf-8),字元串,格式化(用%來實現)
創建一個簡單的Python列表
創建一個列表,列表就像是一個數組
列表中的數據內存是從第0項開始的,而且是從下往上堆起來的,讀取的時候先讀0項,也就是最底下的那一層數據!訪問列表數據使用的是中括弧
小結:
append新添一個數據項
pop從列表末尾刪除數據
extend在列表末尾增加一個數據項集合
remove在列表中找到並刪除一個特定的數據項
insert在某個特定的位置前面增加一個數據項
寫了最基礎的列表,當然是向列表增加更多的數據了
Python列表是一個高層集合,列表並不關心這些事物類型是什麼,他的存在是為了提供一種機制!所以可以在列表中存儲混合類型的數據,so~ 在Python里是不用聲明變數的類型!
這兩種方法都可以向列表裡添數據,但是每次都增加一個print()好煩的,所以所以,要開始迭代處理列表數據了,
為啥!
使用for循環是可伸縮的,使用與任意大小的列表
使用for循環迭代(為什麼!因為增加的電影數據很多!!不能每次都輸print)
for 目標標識符 in 列表:列表處理代碼 (被稱為suite組)//(處理的代碼在這裡是有縮進的!~~)
目標標識符(target identifier)類似於代碼中的任何其他名。迭代處理列表是,相應的會把列表中的各個數據值分別賦至給她,說明,每次執行循環代碼,目標標識符都會指示一個不同的數據值。
除了for循環,我們也可以使用while循環編寫迭代代碼。但是,要注意的是!一般都用for!! 因為while循環需要提供額外的控制,可能會出錯,但是for循環一定會從列表起始位置開始,
使用while循環時,必須考慮「狀態信息」,要求使用一個計數標識符!! (這裡的count=0)
幾個tips:
- 列表並不真的像數組,因為列表能做的事情要多得多
- 不支持越界檢查,不可以訪問一個不存在的數據項,就會有indexerror作為越界響應
- 雙引號和單引號都可以用來創建字元串,如果需要嵌入一個雙引號",或者用單引號引起這個字元串
- Python對大小寫很敏感!如果寫錯了,python會指出代碼存在一個nameerror
在列表中存儲列表
列表中可以嵌套好多層好多層!!
加上for循環!
for循環只列印外列表的各個數據項,嵌套在內列表中的下一層內列表會原樣列印
在列表中查找列表
if 某個條件滿足: true組代碼else: false組代碼
isinstance()它允許檢查某個特定標識符是否包含某個特定類型的數據
創建一個簡短的列表,並把它賦至一個標識符。詢問「names」是否是一個列表,將一個數賦至給一個標識符,詢問num_names是否是一個列表
(names ,num_names指示一個Python類型,類型為list)
BIF是Python的內置函數
檢查當前列表項是不是一個列表,內循環需要一個新的目標標識符
if裡面的for循環是因為此時ture是一個列表
如果外圍列表的當前項不是一個列表,則在屏幕上顯示這一項
下一個目標:內嵌套列表還沒有處理完全
複雜數據很難處理
外圍列表+一個嵌套列表+另一個嵌套列表(下一層)內列表
--------代碼處理
處理外圍列表+處理嵌套內列表
處理多層嵌套列表
代碼的迭代
each 每個nested 嵌套 deeper 深處
一環套一環也挺費勁的,眼都看花了,恍恍惚惚
一般來說,過於複雜的代碼幾乎都不是好東西……
綜上所述!!~
我們要寫很多很多重複的代碼,為了偷懶,我們理所當然的要建一個函數啦!
預知後事如何 ,請聽下回分解!!客官們 ,時間不夠了,我先撤了~~
此刻的我,其實內心是很痛苦的,原因是!我十一之前早早的就看完了數據結構和Python的一些基礎概念,但是!!但是!!為啥我放完國慶玩完回來筆記圖片就沒了呢~ 有道雲筆記這麼坑!! 我的圖片呢! 你還我的圖片啊啊啊啊~ 都被吞掉了嗎??????
給我顯示個這是什麼玩意????WTF???現在看著它,心就為之一顫(以後還是用印象筆記吧o(▼皿▼メ;)o 就當我再重新複習一遍吧
我上知乎不是很多誒,看見有人給我留言說,還能這麼容易就找到一個數據分析的工作,其實我的工作數據分析占的比重就那麼一丟丟丟丟~~~ 大多數還是做的最基礎最基礎的,比如說做個Excel,做個報表,錄個系統數據啥的。
當然啦,不能讓自己停留在表面,要深入業務,這才叫分析與決策嘛!
一個月完成一關真的是給我無限的拖拖拖拖拖拖拖拖拖延的「好時光」,好在也算按時完成了,耶~~ 給自己瘋狂打call~~
從今天開始我就轉正啦,好開心(??ˇ?ˇ?),我想好全部通關之後的禮物啦,就是買一個投影儀!!(在這之前每一關當然是攢錢啦!!) 小夥伴們有推薦的可以告訴我哦,預算兩千以內~
人生苦短,我用Python
詩和遠方,淘寶都有ヾ(????)?" 好了!我要下班逛吃逛吃了,紀念下夕陽下我逝去的青春~~ 揮手~~
推薦閱讀:
※Python進行電影數據分析及可視化
※kaggle比賽泰坦尼克號優秀項目翻譯
※資料庫及資料庫軟體MySQL簡介
※python抓取課工廠網站數據和分析|python數據分析實例
※沫小姐學數據分析之Python入門篇
TAG:數據分析 |