Python-Data-Analysis

      網(wǎng)友投稿 623 2022-05-29

      1. 數(shù)據(jù)分析概述

      定義: 數(shù)據(jù)分析是用適當(dāng)?shù)姆椒▽?duì)收集來(lái)的大量數(shù)據(jù)進(jìn)行分析,幫助人們作出判斷,以便采取適當(dāng)行動(dòng)。

      為什么要學(xué)習(xí)數(shù)據(jù)分析?

      有崗位需求

      是python數(shù)據(jù)科學(xué)的基礎(chǔ)

      是機(jī)器學(xué)習(xí)課程的基礎(chǔ)

      2. 數(shù)據(jù)分析的工作流:

      3. 數(shù)據(jù)分析案例

      3.1.1. NBA 金州勇士隊(duì)

      3.1.2. 數(shù)據(jù)分析高手塔吉特

      小故事:2012年,美國(guó)一名男子闖入他家附近的一家零售連鎖超市塔吉特內(nèi)抗議:你們竟然給我17歲的女兒發(fā)嬰兒尿片和童車優(yōu)惠券。店鋪經(jīng)理立刻向來(lái)者承認(rèn)錯(cuò)誤,但是該經(jīng)理并不知道這一行為是總公司運(yùn)行數(shù)據(jù)挖掘和個(gè)性化推薦的結(jié)果。一個(gè)月后,這位父親前來(lái)道歉,因?yàn)檫@時(shí)他知道自己的女兒的確懷孕了。塔吉特比這位父親知道自己女兒懷孕足足早了一個(gè)月。

      美國(guó)第二大超市塔吉特百貨(Target)是最早玩大數(shù)據(jù)的零售商,他們擁有專業(yè)顧客數(shù)據(jù)分析模型,可對(duì)購(gòu)買行為精確分析出早期懷孕的人群,然后先于同行精準(zhǔn)營(yíng)銷商品。曾經(jīng)一次精準(zhǔn)營(yíng)銷讓一個(gè)蒙在鼓里的父親意外發(fā)現(xiàn)高中生女兒懷孕了,此事被紐約時(shí)報(bào)報(bào)道,轟動(dòng)了全美。

      4. 環(huán)境安裝

      簡(jiǎn)介 Anaconda(官方網(wǎng))就是可以便捷獲取包且對(duì)包能夠進(jìn)行管理,同時(shí)對(duì)環(huán)境可以統(tǒng)一管理的發(fā)行版本。Anaconda包含了conda、Python在內(nèi)的超過(guò)180個(gè)科學(xué)包及其依賴項(xiàng)。

      Anaconda具有如下特點(diǎn):

      開(kāi)源

      安裝過(guò)程簡(jiǎn)單

      高性能使用Python和R語(yǔ)言

      免費(fèi)的社區(qū)支持

      Anaconda、conda、pip、virtualenv的區(qū)別

      Anaconda Anaconda是一個(gè)包含180+的科學(xué)包及其依賴項(xiàng)的發(fā)行版本。其包含的科學(xué)包包括:conda, numpy, scipy, ipython notebook等。

      conda conda是包及其依賴項(xiàng)和環(huán)境的管理工具。 適用語(yǔ)言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。 適用平臺(tái):Windows, macOS, Linux 用途: ① 快速安裝、運(yùn)行和升級(jí)包及其依賴項(xiàng)。 ② 在計(jì)算機(jī)中便捷地創(chuàng)建、保存、加載和切換環(huán)境。 conda為Python項(xiàng)目而創(chuàng)造,但可適用于上述的多種語(yǔ)言。 conda包和環(huán)境管理器包含于Anaconda的所有版本當(dāng)中。

      pip pip是用于安裝和管理軟件包的包管理器。 pip編寫語(yǔ)言:Python。 Python中默認(rèn)安裝的版本: ① Python 2.7.9及后續(xù)版本:默認(rèn)安裝,命令為 pip ② Python 3.4及后續(xù)版本:默認(rèn)安裝,命令為 pip3 pip名稱的由來(lái):pip采用的是遞歸縮寫進(jìn)行命名的。其名字被普遍認(rèn)為來(lái)源于2處: ① “Pip installs Packages”(“pip安裝包”) ② “Pip installs Python”(“pip安裝Python”)

      virtualenv virtualenv是用于創(chuàng)建一個(gè)獨(dú)立的Python環(huán)境的工具。 解決問(wèn)題:

      當(dāng)一個(gè)程序需要使用Python 2.7版本,而另一個(gè)程序需要使用Python 3.6版本,如何同時(shí)使用這兩個(gè)程序?如果將所有程序都安裝在系統(tǒng)下的默認(rèn)路徑,如:/usr/lib/python2.7/site-packages,當(dāng)不小心升級(jí)了本不該升級(jí)的程序時(shí),將會(huì)對(duì)其他的程序造成影響。

      如果想要安裝程序并在程序運(yùn)行時(shí)對(duì)其庫(kù)或庫(kù)的版本進(jìn)行修改,都會(huì)導(dǎo)致程序的中斷。

      在共享主機(jī)時(shí),無(wú)法在全局 site-packages 目錄中安裝包。

      Python-Data-Analysis

      virtualenv將會(huì)為它自己的安裝目錄創(chuàng)建一個(gè)環(huán)境,這并不與其他virtualenv環(huán)境共享庫(kù);同時(shí)也可以選擇性地不連接已安裝的全局庫(kù)

      Anaconda的適用平臺(tái)及安裝條件 Anaconda可以在以下系統(tǒng)平臺(tái)中安裝和使用:Windows、macOS、Linux(x86 / Power8)?Windows系統(tǒng)安裝Anaconda?① 前往官方下載頁(yè)面下載。有兩個(gè)版本可供選擇:Python 3.6 和 Python 2.7,選擇版之后根據(jù)自己操作系統(tǒng)的情況點(diǎn)擊“64-Bit Graphical Installer”或“32-Bit Graphical Installer”進(jìn)行下載。 ② 完成下載之后,雙擊下載文件,啟動(dòng)安裝程序。 注意:如果在安裝過(guò)程中遇到任何問(wèn)題,那么暫時(shí)地關(guān)閉殺毒軟件,并在安裝程序完成之后再打開(kāi)。如果在安裝時(shí)選擇了“為所有用戶安裝”,則卸載Anaconda然后重新安裝,只為“我這個(gè)用戶”安裝。 ③ 選擇“Next”。 ④ 閱讀許可證協(xié)議條款,然后勾選“I Agree”并進(jìn)行下一步。 ⑤ 除非是以管理員身份為所有用戶安裝,否則僅勾選“Just Me”并點(diǎn)擊“Next”。 ⑥ 在“Choose Install Location”界面中選擇安裝Anaconda的目標(biāo)路徑,然后點(diǎn)擊“Next”。 注意: 目標(biāo)路徑中不能含有空格,同時(shí)不能是“unicode”編碼。除非被要求以管理員權(quán)限安裝,否則不要以管理員身份安裝。 ⑦ 在“Advanced Installation Options”中不要勾選“Add Anaconda to my PATH environment variable.”(“添加Anaconda至我的環(huán)境變量。”)。因?yàn)槿绻催x,則將會(huì)影響其他程序的使用。如果使用Anaconda,則通過(guò)打開(kāi)Anaconda Navigator或者在開(kāi)始菜單中的“Anaconda Prompt”(類似macOS中的“終端”)中進(jìn)行使用。 除非你打算使用多個(gè)版本的Anaconda或者多個(gè)版本的Python,否則便勾選“Register Anaconda as my default Python 3.6”。 然后點(diǎn)擊“Install”開(kāi)始安裝。如果想要查看安裝細(xì)節(jié),則可以點(diǎn)擊“Show Details”。 ⑧點(diǎn)擊“Next”。 ⑨ 進(jìn)入“Thanks for installing Anaconda!”界面則意味著安裝成功,點(diǎn)擊“Finish”完成安裝。 注意:如果你不想了解“Anaconda云”和“Anaconda支持”,則可以不勾選“Learn more about Anaconda Cloud”和“Learn more about Anaconda Support”。 ⑩驗(yàn)證安裝結(jié)果??蛇x以下任意方法: 第一種; “開(kāi)始 → Anaconda3(64-bit)→ Anaconda Navigator”,若可以成功啟動(dòng)Anaconda Navigator則說(shuō)明安裝成功。 第二種;“開(kāi)始 → Anaconda3(64-bit)→ 右鍵點(diǎn)擊Anaconda Prompt → 以管理員身份運(yùn)行”,在Anaconda Prompt中輸入 conda list ,可以查看已經(jīng)安裝的包名和版本號(hào)。若結(jié)果可以正常顯示,則說(shuō)明安裝成功。 其他操作系統(tǒng)請(qǐng)見(jiàn)?macos官方教程,Linux官方教程

      5. Jupyter Notebook的使用

      Jupyter Notebook 是一款 Web 應(yīng)用,它能讓用戶將上面說(shuō)的各種窗口里的東西,全部組合到一個(gè)可讀性好,易于共享,且對(duì)新手友好的文檔中。這個(gè)文檔里可以包括:

      live code (e.g. Python code) 可執(zhí)行的代碼,比如我們需要的 Python 代碼

      visualizations 可視化的數(shù)據(jù)庫(kù)圖表,或者代碼執(zhí)行之后生成的可視化效果,比如 matplotlib 輸出的圖像等

      explanatory text (written in markdown syntax) 各種解釋性文字,例如用 markdown 語(yǔ)法寫的格式化說(shuō)明文本,Latex寫的數(shù)學(xué)方程等

      因此,你可以方便地一邊寫代碼,一邊寫許多帶格式的注釋文本,還能讓運(yùn)行結(jié)果實(shí)時(shí)在頁(yè)面內(nèi)顯示出來(lái)。所以,Jupyter Notebook 很適合以下一些用途使用:

      學(xué)習(xí)并嘗試運(yùn)行 Python 代碼,觀察其效果

      數(shù)據(jù)處理和轉(zhuǎn)換

      數(shù)值模擬分析

      統(tǒng)計(jì)建模

      機(jī)器學(xué)習(xí)

      快捷鍵--->help--->Keyboard Shortcuts

      1+1

      2

      下面這個(gè)例子range里數(shù)字改一下運(yùn)行

      for _ in range(4): print('Hello ! 讓我一起來(lái)數(shù)據(jù)分析吧')

      Hello ! 讓我一起來(lái)數(shù)據(jù)分析吧 Hello ! 讓我一起來(lái)數(shù)據(jù)分析吧 Hello ! 讓我一起來(lái)數(shù)據(jù)分析吧 Hello ! 讓我一起來(lái)數(shù)據(jù)分析吧

      5+2

      7

      help 下的keyboard shortcut

      run cell, select below // shift + enter

      5 + 5*2

      15

      run selected cells // control + enter

      9 + 9

      18

      run cell and insert below // option +enter

      VIEW ---> toggle TOOLBAR 和 toggle header 隱藏 toggle line_number 顯示行數(shù)

      in 和 out 代表運(yùn)行的順序

      下面插入是 B 上面是A 單元格綠色是 輸入 藍(lán)色是非編輯

      markdown 的快捷鍵是 M

      Y是變成代碼狀態(tài)

      data = [i*2 for i in range(100)]

      len(data)

      100

      data[:10]

      [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

      data 一直在內(nèi)存中 我們要加載一個(gè)很大的數(shù)據(jù),只需要一個(gè)加載一次就可以

      在前面可以使用未聲明的變量 (特點(diǎn)) data[-1] 插入到上面的某一行演示

      6. Jupyter NOTEBOOK高級(jí) :魔法命令

      調(diào)用自己寫的代碼 比如用pycharm 寫的

      def hello(name): print('Hello', name, '!') hello("neuedu")

      hello.py存在myscript/文件夾中,我們使用 %run來(lái)運(yùn)行 %run myscript/hello.py

      Hello neuedu !

      這是hello()函數(shù)也加載到內(nèi)存中 hello('劉強(qiáng)東')

      Hello 劉強(qiáng)東 !

      加載模塊 在工程中新建mymodule包然后在包中新建FirstDemo.py文件

      def predict(x): print('聽(tīng)說(shuō)班長(zhǎng)今晚請(qǐng)吃飯')

      import mymodule.FirstDemo

      mymodule.FirstDemo.predict('x')

      聽(tīng)說(shuō)班長(zhǎng)今晚請(qǐng)吃飯

      from mymodule import FirstDemo as fd

      fd.predict(1)

      聽(tīng)說(shuō)班長(zhǎng)今晚請(qǐng)吃飯

      函數(shù)的注釋

      print? # 會(huì)顯示print函數(shù)的信息

      print??# 會(huì)顯示print函數(shù)的詳細(xì)信息

      執(zhí)行了1000次 由jupterNotebook 決定次數(shù)

      %timeit L = [i**2 for i in range(1000)]

      307 μs ± 15 μs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

      時(shí)間復(fù)雜度 O(n) 級(jí)別 線性的

      %timeit L = [i**2 for i in range(1000000)]

      362 ms ± 19.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

      %timeit L = [i**2 for i in range(10)]

      3.34 μs ± 264 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

      接多行的寫法

      %%timeit L = [] for n in range(1000): L.append(n ** 2)

      352 μs ± 5.21 μs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

      列表生成式要比 for循環(huán)快

      %time L = [i**2 for i in range(1000)]

      CPU times: user 329 μs, sys: 0 ns, total: 329 μs Wall time: 333 μs

      cpu時(shí)間 usertime systime totaltime walltime是人類真正感知到的時(shí)間 多線程 cpu < wall

      比上面的時(shí)間長(zhǎng)是因?yàn)橹暗氖侨?次最快的 跟當(dāng)前操作系統(tǒng)的調(diào)度任務(wù)有關(guān)系

      %%time L = [] for n in range(1000): L.append(n ** 2)

      CPU times: user 835 μs, sys: 1 μs, total: 836 μs Wall time: 844 μs

      import random L = [random.random() for i in range(100000)] %timeit L.sort()

      2.09 ms ± 150 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)

      L = [random.random() for i in range(100000)] %time L.sort()

      CPU times: user 33.1 ms, sys: 678 μs, total: 33.8 ms Wall time: 33.7 ms

      %time L.sort()

      CPU times: user 2.58 ms, sys: 19 μs, total: 2.6 ms Wall time: 2.62 ms

      為什么會(huì)產(chǎn)生這么大時(shí)間的差距呢 python對(duì)已經(jīng)排好序的有優(yōu)化 亂序的數(shù)組有相應(yīng)復(fù)雜的操作 三路快排算法 歸并排序算法 加入優(yōu)化算法以后 對(duì)于已經(jīng)有序的數(shù)組的是 O(n) 對(duì)于亂序是On (log n)

      %lsmagic

      Available line magics: %alias %alias_magic %autocall %automagic %autosave %bookmark %cat %cd %clear %colors %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro %magic %man %matplotlib %mkdir %more %mv %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %popd %pprint %precision %profile %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save %sc %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode Available cell magics: %%! %%HTML %%SVG %%bash %%capture %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefile Automagic is ON, % prefix IS NOT needed for line magics.

      魔法命令的詳細(xì)描述

      %run?

      %pwd

      '/Users/ericli/Desktop/JupyterBase'

      %matplotlib

      Using matplotlib backend: MacOSX

      很重要 有可能圖不會(huì)出現(xiàn)或者無(wú)法控制繪畫

      Unix shell命令

      #### !ls

      Anaconda Python 應(yīng)用與數(shù)據(jù)集成平臺(tái) ROMA Connect 機(jī)器學(xué)習(xí)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:YANG模型簡(jiǎn)介(二)
      下一篇:首汽共享汽車簽約眾簽,GoFun出行“夠范兒”
      相關(guān)文章
      亚洲乳大丰满中文字幕| 久久精品国产亚洲av麻豆图片| 亚洲欧洲免费视频| 亚洲精品无码久久久久AV麻豆| 亚洲精品无播放器在线播放 | 久久精品国产亚洲AV| 亚洲国产成+人+综合| 亚洲午夜视频在线观看| 亚洲AV无码成人精品区在线观看| 国产亚洲美女精品久久久| 亚洲成人国产精品| 亚洲A∨精品一区二区三区| 狠狠综合亚洲综合亚洲色| 色天使亚洲综合一区二区| 亚洲av无码偷拍在线观看| 亚洲真人无码永久在线观看| 最新亚洲卡一卡二卡三新区| 亚洲黄色激情视频| 亚洲av无码片在线观看| 99999久久久久久亚洲| 亚洲粉嫩美白在线| 亚洲熟妇丰满xxxxx| 亚洲AV永久无码精品水牛影视| 久久久久久亚洲精品不卡| 伊人久久综在合线亚洲91| 亚洲线精品一区二区三区 | 亚洲精品无码久久毛片波多野吉衣 | 亚洲伊人久久综合中文成人网| 亚洲欧洲日产国码高潮αv| 久久久久亚洲精品无码网址| 在线A亚洲老鸭窝天堂| 亚洲AV日韩AV鸥美在线观看| 亚洲一区二区中文| 亚洲av永久无码精品三区在线4 | 亚洲国产成人精品电影| 亚洲毛片基地4455ww| 亚洲国产AV无码一区二区三区| heyzo亚洲精品日韩| 色噜噜AV亚洲色一区二区| 亚洲va在线va天堂va不卡下载| 色播亚洲视频在线观看|