Python數(shù)據(jù)分析基礎ReadingDay1

從今天(2018-3-13)到3月26號本目錄下會更新《Python數(shù)據(jù)分析基礎》這本書的一些讀書筆記和思考干旧。

書目信息:

原書名: Foundations for Analysis with Python
中文翻譯版: Python數(shù)據(jù)分析基礎
原作:Clinton W粹断。Brownley
人民郵電出版社出版,2017年8月第一版。


foundationsForAnalyWithPyBookCover.png

本書關(guān)于基礎知識的內(nèi)容很多尊残,作者也說:

本書面向的讀者是那些經(jīng)常使用電子表格軟件進行數(shù)據(jù)處理,但從未寫過一行代碼的人悯辙。 因此對于數(shù)據(jù)的讀入講得比較多才避,重點講了csv、Excel哺壶、SQL的讀取與處理屋吨。關(guān)于一些建模和挖掘的算法講得比較少蜒谤。閱讀完本書后會補充一些算法的內(nèi)容(特別是關(guān)聯(lián)分析和聚類的算法)。

今天從第一章開始至扰,《Python數(shù)據(jù)分析基礎》整本書200多頁鳍徽,并不多,書中的內(nèi)容注重基礎敢课,對代碼的講解比較詳細(關(guān)于本書特點請參考README.md)阶祭。本書關(guān)于一些建模和挖掘的算法講得比較少,因此消化本書后會結(jié)合其他書(例如《數(shù)據(jù)挖掘?qū)д摗罚┲备眩瑫懸恍╆P(guān)于算法的筆記濒募。本系列筆記主要目的還是作為自己精讀本書和鞏固Python的筆記,同時也希望給閱讀《Python數(shù)據(jù)分析基礎》的人一個參考切厘。

這篇筆記略過一些安裝的細節(jié)萨咳,著重實踐第一章的基本數(shù)據(jù)存貯類型,會有一定跳躍疫稿,筆記中主要舉比較常用的例子用以說明比較重要的內(nèi)容培他,而不會面面俱到,不會完全按照書中的講解順序(因為這樣就變成對本書的一個復刻而不是閱讀消化了)遗座,但對于書中講到比較核心的內(nèi)容也會記得比較詳細舀凛,要理解本系列筆記需要一定的Python基礎,對小白可能不太友好途蒋。

目錄

  • 運行環(huán)境與交互
  • 數(shù)值
  • 字符串
  • 日期

運行環(huán)境與交互

本系列筆記基于Python 3.6猛遍;集成環(huán)境采用Anaconda;Excel編輯會用到MS的Excel 2016号坡;文本數(shù)據(jù)(如csv文件和一般Python腳本)采用Notepad++ v7.4.1進行編寫懊烤,Python腳本全采用UTF-8編碼。

代碼以及筆記的編輯主要是基于Anaconda包含的jupyter notebook(原來叫ipython notebook)宽堆,書中比較常用到Anaconda的Spyder腌紧,做數(shù)據(jù)科學的人一般會更習慣于用jupyter notebook,與本文同步的GitHub畜隶。

略過Anaconda以及其他軟件的安裝過程(因為我安了有一定時間了壁肋,也沒有截圖,需要了解運行環(huán)境配置的同學請參考Anaconda安裝等教程)籽慢。

書中花了一定篇幅講如何在命令行下運行Python腳本浸遗,其基本思路是用Notepad++等文本編輯工具編輯好以.py結(jié)尾的腳本文件后,在cmd下定位到文件所在目錄箱亿,輸入 python 文件名.py 運行跛锌,該方法對于Windows系統(tǒng)和Python3沒問題(如下圖)。在Mac下相應的命令為 chmod +x 文件名.py 再./文件名.py


runningPyScriptIncmd.png

數(shù)值

Python對數(shù)字的分類不像其他語言那么詳細届惋,并且支持大數(shù)察净,能裝下像C++語言的long類型都裝不下的數(shù)值驾茴。可以粗略地將Python的數(shù)字類型分為整數(shù)氢卡、浮點數(shù)、長整數(shù)以及復數(shù)晨缴。后續(xù)筆記會提到的numpy庫為了提高計算速度細分了int32 int64等類型译秦,這個后面再說。 數(shù)值類型的變量表達如下:(有其他語言基礎的人請區(qū)分主流的 int a=2; 以及go的 var a int=2 以及Python的)

a=2 #整數(shù)   Python用#進行注釋 
b=3.14 #浮點數(shù)
c=5/2  #Python3中得到浮點數(shù)2.5 而Python2得到的是整除的結(jié)果
d=5//2  #Python3的整除
e=5%2  #取余數(shù)
f=4+3j  #復數(shù)類型
print(a,b,c,d,e) #輸出
print(type(c)) #type(val) 函數(shù)會返回val的數(shù)據(jù)類型
print(f)
#書中有簡單提到math庫击碗,由于展開需要講很多內(nèi)容筑悴,本處不展開,內(nèi)置math庫包含了很多數(shù)學運算函數(shù)

字符串

k='this is a string' #字符串類型
s="string2" #用單引號或者雙引號都可以稍途,其他語言一般用單引號表示一個字符
print(k,w)

# 正則表達式是很強大的字符串解析方式阁吝,可以實現(xiàn)很多功能
import re  #引入一個庫 用 import 庫名
patz=re.compile(r'is')
pu=patz.search(k)
if pu!=None: #如果能匹配上
    print(pu[0])

本身字符串內(nèi)置了一些很有用的處理方法,如下:

  • s.join(lst) #使用s作為連接符連接序列l(wèi)st中的字符串元素
  • s.split(w) #以w作為分隔符械拍,得到一個字符串列表
  • s.strip(chr) #刪除開頭和結(jié)尾的字符chr

還有l(wèi)ower突勇、upper等函數(shù)。

# 例子
s1='*'.join(['a','b','c'])
s2='this is a str'.split(' ') #以空格切分
s3='**23456***'.strip('*')
print('s1={0:s}'.format(s1))
print(s2)
print(s3)

日期

日期也是數(shù)據(jù)分析經(jīng)常遇到的一種數(shù)據(jù)類型坷虑,特別是金融方面甲馋,時間序列分析是數(shù)據(jù)分析很重要的一個研究領域,本書中說:

日期在大多數(shù)商業(yè)應用中都是必不可少的迄损。你需要知道一個事件在何時發(fā)生定躏,距離這件事 發(fā)生還有多少時間,或者幾個事件之間的時間間隔芹敌。因為日期是很多應用的核心痊远。--P19

Python中提供了很多庫用于時間處理,內(nèi)置的datetime庫很挺好用的氏捞,也有很多第三方的日期時間庫碧聪。書中只講了datetime(至少第一章只講了datetime)。

from datetime import date,datetime,timedelta
today = date.today() #獲得今天的日期
yesterday=today-timedelta(days=-1)
print(today) #print 出來
print(yesterday)
print(today.year)
>>> #以圖靈的Happy Hacking 2018 編程日歷里的代碼舉例
>>> now=datetime.now()
>>> print(now.strftime('%Y-%m-%d')) #格式化輸出
2018-03-13

今天的學習先整理這些幌衣,明天會繼續(xù)《Python數(shù)據(jù)分析基礎》的學習矾削,會比較深入地記關(guān)于列表/元組/字典三種內(nèi)置數(shù)據(jù)保存方式,還有文本文件的讀寫豁护。 如果讀者有任何意見或建議哼凯,歡迎留言補充!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末楚里,一起剝皮案震驚了整個濱河市断部,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌班缎,老刑警劉巖蝴光,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件她渴,死亡現(xiàn)場離奇詭異,居然都是意外死亡蔑祟,警方通過查閱死者的電腦和手機趁耗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疆虚,“玉大人苛败,你說我怎么就攤上這事【恫荆” “怎么了罢屈?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長篇亭。 經(jīng)常有香客問我缠捌,道長,這世上最難降的妖魔是什么译蒂? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任曼月,我火速辦了婚禮,結(jié)果婚禮上蹂随,老公的妹妹穿的比我還像新娘十嘿。我一直安慰自己,他們只是感情好岳锁,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布绩衷。 她就那樣靜靜地躺著,像睡著了一般激率。 火紅的嫁衣襯著肌膚如雪咳燕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天乒躺,我揣著相機與錄音招盲,去河邊找鬼。 笑死嘉冒,一個胖子當著我的面吹牛曹货,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播讳推,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼顶籽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了银觅?” 一聲冷哼從身側(cè)響起礼饱,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后镊绪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體匀伏,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年蝴韭,在試婚紗的時候發(fā)現(xiàn)自己被綠了够颠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡万皿,死狀恐怖摧找,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情牢硅,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布芝雪,位于F島的核電站减余,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏惩系。R本人自食惡果不足惜位岔,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望堡牡。 院中可真熱鬧抒抬,春花似錦、人聲如沸晤柄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芥颈。三九已至惠勒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間爬坑,已是汗流浹背纠屋。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盾计,地道東北人售担。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像署辉,于是被迫代替她去往敵國和親族铆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內(nèi)容