關(guān)于環(huán)境與CODING
什么是終端(命令行窗口)?在哪里打開笛匙?
終端是一個基于文本的用來查看侨把、 處理、 和操作您的計(jì)算機(jī)上的文件的應(yīng)用程序妹孙。打開方法:Windows系統(tǒng)秋柄,在程序中查找 cmd; Mac系統(tǒng),在Spotlight中查找terminal蠢正。更多內(nèi)容可參考 命令行界面簡介在官網(wǎng)下載 anaconda 很慢骇笔,下不下來怎么辦?
(感謝李斯龍同學(xué)提供的解決方案)使用國內(nèi)鏡像地址下載:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/安裝完anaconda嚣崭,在命令行中輸入conda upgrade -all
后笨触,顯示找不到 conda 命令怎么辦?
(感謝李佳同學(xué)提供的答案)一般是環(huán)境路徑設(shè)置的問題雹舀,需要添加conda環(huán)境變量:export PATH=xxx/anaconda/bin:$PATH
將xxx替換成anaconda的安裝路徑芦劣。如何創(chuàng)建 Jupyter Notebook?為什么我打開后不能執(zhí)行代碼说榆?
打開 Jupyter 的三種方式:
找到 Jupyter Notebook 可執(zhí)行程序虚吟,并點(diǎn)擊打開。
先打開 Anaconda Navigator签财, 在其中找到 Jupyter Notebook 打開串慰。
在命令行中輸入jupyter notebook
創(chuàng)建 notebook 的方式:在打開Jupyter Notebook后,進(jìn)入相應(yīng)的目錄唱蒸,在界面右上方點(diǎn)擊按鈕New
模庐,在下拉菜單中選擇 ’Python 2‘ 或 ’Python 3‘。打開后不能運(yùn)行代碼油宜,很可能是因?yàn)閯?chuàng)建了文本文件掂碱,而非notebook文件。windows系統(tǒng)中打開數(shù)據(jù)文件慎冤,顯示很混亂疼燥,看不清怎么辦?
Windows中查看文本推薦 Notepad++
Mac中推薦 TextWrangler蚁堤。導(dǎo)入數(shù)據(jù)出錯醉者,找不到文件怎么辦?
首先要確認(rèn)文件路徑是否寫正確披诗,最簡單的方法是將數(shù)據(jù)和notebook文件放在同一個文件夾下撬即,這樣導(dǎo)入數(shù)據(jù)時(shí)只需要寫數(shù)據(jù)文件名即可。當(dāng)我使用pd.read_csv
時(shí)顯示錯誤 ’NameError: name 'pd' is not defined‘ 是怎么回事呈队?
一般都要先導(dǎo)入相應(yīng)的Python模塊才能使用其提供的方法剥槐。這里就需要先導(dǎo)入pandas模塊,使用import pandas as pd關(guān)于繪制直方圖宪摧,使用plt.hist()
畫出的圖形每一豎條都是相連的粒竖,沒有豎線分隔怎么辦颅崩?
可使用參數(shù) rwidth 來設(shè)置每個豎條的寬度,這樣豎條之間就有空白可以間隔了蕊苗。比如plt.hist(data, rwidth=0.9)
沿后。繪制直方圖時(shí),中文標(biāo)題無法顯示怎么辦朽砰?
一般默認(rèn)是英文尖滚,可在繪圖前做如下設(shè)置。
plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標(biāo)簽 plt.rcParams['axes.unicode_minus']=False #用來正常顯示負(fù)號
如果系統(tǒng)中沒有相應(yīng)的字體瞧柔,可考慮方案二(mac系統(tǒng)熔掺,由周瑞珍、李斯龍同學(xué)提供):
from matplotlib.font_manager import *myfont = FontProperties(fname='/Library/Fonts/Lantinghei.ttc')plt.title(u'體重直方圖',fontproperties=myfont)
Lantinghei.ttc是系統(tǒng)fonts目錄下的一個字體文件非剃,如果該目錄下沒有這個文件也可以改成其他的中文字體文件
(Windows系統(tǒng),李佳同學(xué)提供的 matplotlib中文顯示根本的解決辦法)進(jìn)入python的安裝目錄推沸,Lib/site-packages/matplotlib/mpl-data找到matplotlibrc配置文件
打開配置文件备绽,找到下面這行#font.serif : Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif
然后將前面的注釋符號去掉
找到中文字體放到matplotlib字體庫中在windows文件夾下,C:/Windows/Fonts/Microsoft YaHei UI復(fù)制該字體鬓催,然后粘貼到Lib/site-packages/matplotlib/mpl-data/fonts/ttf文件夾下肺素,并且重命名為Vera.ttf注釋:雅黑字體的文件后綴為ttc,可更改為ttf宇驾。至于為什么要重命名倍靡,這一步實(shí)際上是把matplotlib中一個默認(rèn)的字體替換為復(fù)制過來的中文字體。其他的根本解決問題的方案我都測試過并沒有效果课舍,這個方法是目前解決最徹底塌西,對我有效的解決方式,你也可以試一試
-
繪制直方圖筝尾,設(shè)置中文標(biāo)題時(shí)捡需,顯示錯誤 ’SyntaxError: invalid character in identifier‘ 是怎么回事?
代碼一般都是英文輸入筹淫,當(dāng)與中文混排時(shí)站辉,特別要注意中英文的切換,該同學(xué)使用了中文輸入法下的括號损姜,導(dǎo)致出錯饰剥。 -
下載Anaconda后無法安裝怎么辦?
首先確定安裝的版本與系統(tǒng)配置是否一致摧阅;
其次查看下載的是圖形界面安裝包還是命令行安裝包汰蓉,兩者的安裝方式不一樣;
第三棒卷,查看下載的安裝包大小與官網(wǎng)給出的大小是否一致古沥,很可能沒下載完成瘸右。如果是情況三,建議使用國內(nèi)鏡像下載岩齿,回到問題2查看鏡像地址太颤。
關(guān)于數(shù)據(jù)科學(xué)
-
什么是數(shù)據(jù)科學(xué)(Data Science)?
數(shù)據(jù)科學(xué)是用科學(xué)的方法從各種結(jié)構(gòu)化盹沈、非結(jié)構(gòu)化數(shù)據(jù)中提取有用信息的一門交叉學(xué)科龄章。通過數(shù)據(jù)收集、清洗乞封、分析做裙、可視化等過程,用數(shù)據(jù)來回答特定領(lǐng)域的問題。它涉及多個領(lǐng)域的技術(shù)和理論畔柔,包括數(shù)學(xué)黄鳍、統(tǒng)計(jì)、信息科學(xué)拧廊、計(jì)算機(jī)科學(xué),尤其是機(jī)器學(xué)習(xí)晋修、數(shù)據(jù)挖掘吧碾、數(shù)據(jù)庫、可視化等分支領(lǐng)域墓卦。(參考維基百科) -
數(shù)據(jù)科學(xué)中都有哪些職業(yè)角色倦春?
數(shù)據(jù)科學(xué)家(data scientists):有人這樣描述數(shù)據(jù)科學(xué)家, 他們比統(tǒng)計(jì)學(xué)家更懂編程落剪,而比軟件工程師更懂統(tǒng)計(jì)睁本。雖然數(shù)據(jù)科學(xué)家和數(shù)據(jù)分析師有相同的工作目標(biāo),即從大量數(shù)據(jù)中發(fā)掘價(jià)值忠怖,但顯然數(shù)據(jù)科學(xué)家需要更精湛的技能添履,他們能完成端到端的數(shù)據(jù)科學(xué)項(xiàng)目,建立并微調(diào)數(shù)據(jù)分析的各類模型脑又,并能從事開放問題的研究等等暮胧。
數(shù)據(jù)分析師(data analysts):他們研究數(shù)據(jù)并提供相應(yīng)的報(bào)告或可視化圖表∥属铮可以將數(shù)據(jù)分析師看作數(shù)據(jù)科學(xué)家的低配版往衷,即初級數(shù)據(jù)科學(xué)家,一般是從事數(shù)據(jù)科學(xué)工作的第一步严卖。數(shù)據(jù)分析師不需要具備高深的研究背景來發(fā)明新算法席舍,但是他們要熟練掌握現(xiàn)有工具來解決問題。
數(shù)據(jù)工程師(data engineers):他們是軟件工程師的一種哮笆,為數(shù)據(jù)科學(xué)家們提供軟件基礎(chǔ)設(shè)施服務(wù)来颤,建設(shè)強(qiáng)壯的數(shù)據(jù)管道來清洗汰扭、轉(zhuǎn)移、聚合多種雜亂無章的數(shù)據(jù)福铅,并存放到特定的數(shù)據(jù)庫中萝毛。他們需要管理數(shù)據(jù)庫系統(tǒng),寫復(fù)雜的查詢語句來抽取數(shù)據(jù)滑黔,維護(hù)多臺服務(wù)器笆包,懂得Hadoop等分布式系統(tǒng)。
參考:3 Data Careers Decoded and What It Means for You
-
數(shù)據(jù)科學(xué)的工作流程是怎樣的略荡?
雖然數(shù)據(jù)分析是一個不斷迭代的過程庵佣,而且不同的步驟會有些交叉,但我們依然可以將該過程簡化為以下7個步驟:
明確問題
收集原始數(shù)據(jù)
數(shù)據(jù)清洗
數(shù)據(jù)探索
應(yīng)用模型進(jìn)行深度分析
傳達(dá)分析結(jié)果
使分析過程可再現(xiàn)
在一個數(shù)據(jù)項(xiàng)目中汛兜,我們絕大多數(shù)的努力一般都將花費(fèi)在獲取和清洗數(shù)據(jù)(步驟2-3)以及展示分析結(jié)果和過程(步驟6-7)上巴粪。
參考:Data science done well looks easy
-
從事數(shù)據(jù)科學(xué)所需要掌握的技能都有哪些?
要從事數(shù)據(jù)科學(xué)粥谬,我們需要從數(shù)學(xué)知識肛根、計(jì)算機(jī)知識、專業(yè)知識這三個維度來考慮帝嗡。
具有分析思維。
基本的大學(xué)數(shù)學(xué)知識璃氢,包括微積分和線性代數(shù)哟玷。
統(tǒng)計(jì)學(xué)知識,包括描述統(tǒng)計(jì)學(xué)和推論統(tǒng)計(jì)學(xué)一也。
編程基礎(chǔ)巢寡,如Python、R語言椰苟、SQL語句抑月。
算法知識,如回歸舆蝴、分類谦絮、聚類算法等。
數(shù)據(jù)可視化洁仗,將你的分析結(jié)果展示出來层皱。
領(lǐng)域?qū)I(yè)知識,如商業(yè)知識赠潦、生物學(xué)知識等叫胖,視具體分析的問題而定。
更詳細(xì)的技能清單請參考 Ultimate Skills Checklist for Your First Data Analyst Job
關(guān)于工具
-
數(shù)據(jù)分析的常用工具都有哪些她奥?
SQL:從數(shù)據(jù)庫中抽取數(shù)據(jù)的程序語言瓮增,是數(shù)據(jù)科學(xué)的必備技能怎棱。
Excel:容易上手,所見即所得绷跑,無需編程即可對數(shù)據(jù)進(jìn)行運(yùn)算和作圖拳恋。
R:專門為數(shù)據(jù)科學(xué)而設(shè)計(jì)的語言,在數(shù)據(jù)科學(xué)領(lǐng)域比Python略微受歡迎些你踩。
Python:簡單易學(xué)诅岩,功能強(qiáng)大且豐富,是大學(xué)教學(xué)中最受歡迎的編程語言带膜。
Spark:專為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的基于內(nèi)存計(jì)算的引擎吩谦。
Tableau:幫人們查看并理解數(shù)據(jù),可進(jìn)行快速分析膝藕、可視化并分享結(jié)果式廷。
其他:Perl,Matlab芭挽,C#滑废,Mahout,Hadoop袜爪,Java
以上工具按使用占比排名蠕趁,數(shù)據(jù)來源: 2015 Data Science Salary Survey
我該采用哪種編程語言做數(shù)據(jù)分析呢?Python 還是 R 辛馆?
Python和R語言都是數(shù)據(jù)科學(xué)中常用的編程語言俺陋,時(shí)常有關(guān)于該使用哪一種語言的爭論,但真是仁者見仁智者見智了昙篙。作為一名出色的數(shù)據(jù)科學(xué)家腊状,兩種語言都應(yīng)該掌握。但作為初學(xué)者該先學(xué)哪一種語言呢苔可?我們推薦Python缴挖,下面列出了這Python和R的比較,供您參考焚辅。
使用人群:程序員使用Python較多映屋,而研究人員多使用R語言。
句法:Python具有類似英語的句法結(jié)構(gòu)同蜻,使得代碼更易理解秧荆。R的句法與其他程序語言有些區(qū)別,不太常見埃仪,對有一定編程基礎(chǔ)的同學(xué)容易造成理解障礙乙濒。
學(xué)習(xí)曲線: 由于以上句法的原因,R 比 Python 難學(xué)一點(diǎn)。Python非常適合編程入門的學(xué)習(xí)者颁股。
熱門程度:在Github上最受歡迎的程序語言排名中么库,Python總是位列前五,而R語言則徘徊在前10以外甘有。
數(shù)據(jù)分析工具包:Python作為多用途的程序語言诉儒,在數(shù)據(jù)分析工具包方面的確做的沒有R語言好。但是Python也有像Pandas這樣專門用于數(shù)據(jù)分析的模塊亏掀。
薪水:平均來看忱反,使用R語言的數(shù)據(jù)科學(xué)家平均薪水比使用Python的高。(但注意這只是相關(guān)性滤愕,并不一定存在因果關(guān)系温算。)Python的版本該如何選擇?
目前Python有兩類版本间影,Python 2.7.x 和 Python 3.x注竿,大部分的Python庫都同時(shí)支持這兩者。大多數(shù)情況下 Python 2.7 的代碼都能在Python 3 中運(yùn)行魂贬,不過要注意print
語句巩割。當(dāng)然大部分新引入Python 3 的特性則不會反向集成到 Python 2.7中。
在這里推薦使用 Python 3付燥,理由如下:
Python 2.7 將在2020年停止維護(hù)宣谈。
IPython將停止對Python 2 的支持,IPython 6.x 將只支持 Python 3键科。
Python 3.6 具備許優(yōu)秀的特性闻丑。用Python做數(shù)據(jù)分析,有哪些入門資料推薦萝嘁?
在線視頻教程推薦:
Intro to Python for Data Science
Python for Everybody
書籍推薦:
《利用Python進(jìn)行數(shù)據(jù)分析》
《統(tǒng)計(jì)思維 》(免費(fèi)英文版)
-
有什么簡單的方法安裝Python嗎梆掸?
推薦安裝 Anaconda扬卷,它是一個開源的Python發(fā)行版本牙言,包含了conda、Python等180多個科學(xué)包及其依賴項(xiàng)怪得。使用Anaconda的好處是安裝簡單咱枉,并且無需為眾多的工具包和安裝環(huán)境而煩擾。 -
我想將自己的數(shù)據(jù)分析過程分享給大家徒恋,有什么好的工具嗎蚕断?
推薦Jupyter Notebook,這是一款展示數(shù)據(jù)分析過程的利器入挣。不僅能在文檔中執(zhí)行Python代碼亿乳,更可以將文本、數(shù)學(xué)公式、代碼葛假、圖表編輯在同一文件中障陶,用web網(wǎng)頁的形式展現(xiàn)出來。
如果你安裝了Anaconda聊训,則自動包含了Jupyter抱究。如果在conda環(huán)境下,使用如下方式安裝:
conda install jupyter notebook
也可以通過pip安裝:
pip install jupyter notebook
-
Python 中都有哪些常用的數(shù)據(jù)分析工具包带斑?
numpy: 是一個用Python實(shí)現(xiàn)的科學(xué)計(jì)算包鼓寺,提供許多高級的數(shù)值編程工具,如矩陣表示勋磕、矢量計(jì)算以及精密計(jì)算庫妈候。
pandas: 是Python的一個數(shù)據(jù)分析包,提供了高效且易用的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具朋凉。
matplotlib: 是一個Python的2D繪圖庫州丹,可以生成出版質(zhì)量級別的圖像。
scipy:用于科學(xué)和工程計(jì)算的Python軟件庫杂彭。
scikit-learn:用于機(jī)器學(xué)習(xí)的軟件庫墓毒。
有什么好用的代碼編輯器推薦嗎?
Windows操作系統(tǒng)推薦 Notepad++
Mac操作系統(tǒng)推薦 TextWrangler常見的數(shù)據(jù)文件格式有哪些亲怠?
CSV:全稱 Comma Separated Values所计,即用逗號分隔的數(shù)據(jù)文件,可以使用Excel打開团秽,也可以用Python或R讀入成數(shù)據(jù)框(dataframe)主胧。
JSON:全稱 Javascript Object Notation,是便于人和機(jī)器讀取的輕量數(shù)據(jù)交換格式习勤。Web服務(wù)經(jīng)常采用此格式來傳遞數(shù)據(jù)踪栋。
SQL:全稱Structured Query Language,用于查詢關(guān)系型數(shù)據(jù)庫表图毕。
關(guān)于統(tǒng)計(jì)分析
-
做數(shù)據(jù)分析夷都,需要掌握哪些必備的統(tǒng)計(jì)學(xué)知識?
描述統(tǒng)計(jì)學(xué)
平均值予颤、中位數(shù)囤官、眾數(shù)
方差、標(biāo)準(zhǔn)差
統(tǒng)計(jì)分布: 正態(tài)分布蛤虐、指數(shù)分布党饮、二項(xiàng)分布、卡方分布
推論統(tǒng)計(jì)學(xué)
假設(shè)檢驗(yàn)
置信區(qū)間
顯著性測試
實(shí)驗(yàn)設(shè)計(jì)
A/B測試
實(shí)驗(yàn)條件控制
雙盲測試
冪律分布
關(guān)于提問的建議:
-
獨(dú)立思考
遇到問題時(shí)驳庭,首先自己獨(dú)立思考刑顺,通過回顧課件、動手實(shí)踐來找答案。需要注意的是不要關(guān)注錯了問題的焦點(diǎn)蹲堂,有時(shí)候問題的解決方法不一定在你原先認(rèn)為的方向上荞驴。 -
求助網(wǎng)絡(luò)
自己想不出來時(shí),求助網(wǎng)絡(luò)贯城。使用Google網(wǎng)上搜索熊楼,當(dāng)中文找不到結(jié)果時(shí),采用英文搜索能犯。對于代碼錯誤鲫骗,可以直接將錯誤提示拷貝到Google中搜索。 要相信:你所遇到的問題大部分都已經(jīng)被他人解決過了踩晶。 -
社群討論
向網(wǎng)絡(luò)求助無效执泰,并在查看了我們社區(qū)建立的答疑討論區(qū)以及FAQ后,仍無結(jié)果渡蜻,那么非常歡迎在答疑討論區(qū)拋出你的問題术吝。 -
總結(jié)記錄
在問題解決后,并非萬事大吉茸苇,你需要將問題以及解決辦法總結(jié)寫下來排苍,避免以后遇到類似的問題。更歡迎寫成心得文章投稿到簡書的“解密大數(shù)據(jù)”專題学密。
作者:波羅學(xué)鏈接:http://www.reibang.com/p/0b0b7c33be57來源:簡書著作權(quán)歸作者所有淘衙。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處腻暮。