国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

Python數(shù)據(jù)分析

Shimmer / 1939人閱讀

摘要:從本博客開(kāi)始,將系統(tǒng)的學(xué)習(xí)的數(shù)據(jù)分析的六大模塊,有關(guān)的基礎(chǔ)知識(shí),可以看我的博客。專(zhuān)為進(jìn)行嚴(yán)格的數(shù)字處理而產(chǎn)生。在實(shí)現(xiàn)一個(gè)程序之前,值得檢查下所需的數(shù)據(jù)處理方式是否已經(jīng)在中存在了。積分六官網(wǎng)為了解決數(shù)據(jù)分析而創(chuàng)建的庫(kù)。

從本博客開(kāi)始,將系統(tǒng)的學(xué)習(xí)Python的數(shù)據(jù)分析的六大模塊numpy、scipy、matplotlib、pandas、scikit-learn、keras,有關(guān)Python的基礎(chǔ)知識(shí),可以看我的博客 http://digtime.cn/。
一、概念

python特點(diǎn):簡(jiǎn)潔,開(kāi)發(fā)效率高,運(yùn)算速度慢,膠水特性
主要有三點(diǎn):統(tǒng)計(jì)分析方法,提取有用的信息,研究、概括、總結(jié)。
數(shù)據(jù)分析六大模塊:numpy、scipy、matplotlib、pandas、scikit-learn、keras

numpy:數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)

scipy:強(qiáng)大的科學(xué)計(jì)算方法(矩陣分析、信號(hào)分析、數(shù)理分析...)

matplotlib:豐富的可視化套件

pandas:基礎(chǔ)數(shù)據(jù)分析套件

scikit-learn:強(qiáng)大的數(shù)據(jù)分析建模塊

keras:人工神經(jīng)網(wǎng)絡(luò)

二、Python環(huán)境安裝 1、Anaconda集成包環(huán)境安裝

要利用Python進(jìn)行科學(xué)計(jì)算,就需要一一安裝所需的模塊,而這些模塊可能又依賴(lài)于其它的軟件包或庫(kù),因而安裝和使用起來(lái)相對(duì)麻煩。幸好有人專(zhuān)門(mén)在做這一類(lèi)事情,將科學(xué)計(jì)算所需要的模塊都編譯好,然后打包以發(fā)行版的形式供用戶使用,Anaconda就是其中一個(gè)常用的科學(xué)計(jì)算發(fā)行版。

安裝完anaconda,就相當(dāng)于安裝了Python、IPython、集成開(kāi)發(fā)環(huán)境Spyder、一些包等等。

對(duì)于Mac、Linux系統(tǒng),Anaconda安裝好后,實(shí)際上就是在主目錄下多了個(gè)文件夾(~/anaconda)而已,Windows會(huì)寫(xiě)入注冊(cè)表。安裝時(shí),安裝程序會(huì)把bin目錄加入PATH(Linux/Mac寫(xiě)入~/.bashrc,Windows添加到系統(tǒng)變量PATH),這些操作也完全可以自己完成。以Linux/Mac為例,安裝完成后設(shè)置PATH的操作是

# 將anaconda的bin目錄加入PATH,根據(jù)版本不同,也可能是~/anaconda3/bin
echo "export PATH="~/anaconda2/bin:$PATH"" >> ~/.bashrc

# 更新bashrc以立即生效
source ~/.bashrc

MAC環(huán)境變量設(shè)置:

? export PATH=~/anaconda2/bin:$PATH
? conda -V
conda 4.3.30

配置好PATH后,可以通過(guò) which condaconda --version 命令檢查是否正確。假如安裝的是Python 2.7對(duì)應(yīng)的版本,運(yùn)行python --versionpython -V 可以得到Python 2.7.12 :: Anaconda 4.1.1 (64-bit),也說(shuō)明該發(fā)行版默認(rèn)的環(huán)境是Python 2.7。

在終端執(zhí)行 conda list可查看安裝了哪些包:

Conda的包管理就比較好理解了,這部分功能與pip類(lèi)似。

2、設(shè)置編輯器環(huán)境和模板

我的編輯器使用的是 Pycharm,可以給其設(shè)置開(kāi)發(fā)環(huán)境和模板,進(jìn)行快速開(kāi)發(fā)。

Anaconda 設(shè)置:

固定模板設(shè)置:

# -*- coding:utf-8 -*-
"""
@author:Corwien
@file:${NAME}.py
@time:${DATE}${TIME}
"""
三、numpy

NumPy(Numeric Python)系統(tǒng)是Python的一種開(kāi)源的數(shù)值計(jì)算擴(kuò)展。這種工具可用來(lái)存儲(chǔ)和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結(jié)構(gòu)要高效的多(該結(jié)構(gòu)也可以用來(lái)表示矩陣(matrix))。據(jù)說(shuō)NumPy將Python相當(dāng)于變成一種免費(fèi)的更強(qiáng)大的MatLab系統(tǒng)。

numpy特性:開(kāi)源,數(shù)據(jù)計(jì)算擴(kuò)展,ndarray, 具有多維操作, 數(shù)矩陣數(shù)據(jù)類(lèi)型、矢量處理,以及精密的運(yùn)算庫(kù)。專(zhuān)為進(jìn)行嚴(yán)格的數(shù)字處理而產(chǎn)生。

1、基本操作

小試牛刀:

# -*- coding:utf-8 -*-

"""
@author: Corwien
@file: numpyTest.py
@time: 17/11/5 01:32
"""

import numpy as np

def main():
    lst = [[1, 3, 5], [2, 4, 6]]
    print(type(lst))           # 

    np_lst = np.array(lst)
    print(type(np_lst))        # 

    # bool, int, int8, int16, int64 ..., uint8, float, float8
    np_list = np.array(lst, dtype = np.float)


    # 1 numpy property
    print(np_list.shape)       # pirnt: (2, 3)
    print(np_list.ndim)        # pirnt: 2
    print(np_list.dtype)       # pirnt: float64
    print(np_list.itemsize)    # pirnt: 8
    print(np_list.size)        # pirnt: 6

    # 2 some arrays
    print(np.zeros([2, 4]))   #
    print(np.ones([4, 3]))    #
    print("RandNum:")
    print(np.random.rand(2, 4))
    print("RandInt:")
    print(np.random.randint(1, 10, 3))
    print("Randn:")
    print(np.random.randn(2, 4))
    
    print("Distribute:")
    print(np.random.beta(1, 10, 100))

    # 3 Aarray Opers
    lst = np.arange(1, 11).reshape([2, -1])
    print("Exp")
    print(np.exp(lst))

    print(np.exp2(lst))
    print(np.sqrt(lst))
    print(np.sin(lst))
    print("Log")
    print(np.log(lst))

    lst1 = np.array([10, 20, 30, 40])
    lst2 = np.array([1, 2, 4, 5])
    print("Add")
    print(lst1 + lst2)   # [11 22 34 45]
    


if __name__ == "__main__":
    main()
2、矩陣操作與線性方程組
# -*- coding:utf-8 -*-

"""
@author: Corwien
@file: liner.py
@time: 17/11/6 00:17
"""

import numpy as np

# 4 liner
from numpy.linalg import *
print(np.eye(3))

lst = np.array([[1, 2],
                [3, 4]])

print("Inv: ")
print(inv(lst))
print("T: ")
print(lst.transpose())

print("Det:")
print(det(lst))
print(eig(lst))

y = np.array([[5.], [7.]])
print("Slove")
print(solve(list, y))
四、matplotlib

matplotlib 是用來(lái)繪圖表的,官網(wǎng) matplotlib.org

1、正弦和余弦
# -*- coding:utf-8 -*-

"""
@author: Corwien
@file: matplo.py
@time: 17/11/6 00:44
"""

import numpy as np

def main():
    #line
    import matplotlib.pyplot as plt
    x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
    c, s = np.cos(x), np.sin(x)  # 余弦和正弦
    plt.figure(1)
    plt.plot(x, c)
    plt.plot(x, s)
    plt.show()


if __name__ == "__main__":
    main()

具有屬性的圖:

# -*- coding:utf-8 -*-

"""
@author: Corwien
@file: matplo.py
@time: 17/11/6 00:44
"""

import numpy as np

def main():
    #line
    import matplotlib.pyplot as plt
    x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
    c, s = np.cos(x), np.sin(x)  # 余弦,正弦
    plt.figure(1)
    plt.plot(x, c, color="blue", linewidth=1.0, linestyle="-", label="COS", alpha=0.5)   # x 自變量, c 余弦
    plt.plot(x, s, "r*", label="SIN")
    plt.title("COS & SIN")
    ax=plt.gca()
    ax.spines["right"].set_color("none")
    ax.spines["top"].set_color("none")
    ax.spines["left"].set_position(("data", 0))
    ax.spines["bottom"].set_position(("data", 0))
    ax.xaxis.set_ticks_position("bottom")
    ax.yaxis.set_ticks_position("left")

    for label in ax.get_xticklabels()+ax.get_yticklabels():
        label.set_fontsize(10)
        label.set_bbox(dict(facecolor="white", edgecolor="None", alpha=0.2))

    plt.legend(loc="upper left")
    plt.grid()
    plt.axis([-1, 1, -0.5, 1])
    plt.fill_between(x, np.abs(x) < 0.5, c, c > 0.5, color="green",alpha=0.25)

    t = 1
    plt.plot([t, t], [0, np.cos(t)], "y", linewidth=3, linestyle="--")
    plt.annotate("cos(1)", xy=(t, np.cos(1)), xycoords="data", xytext=(+5, +10),
                 textcoords="offset points", arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.1"))
    plt.show()


if __name__ == "__main__":
    main()

五、scipy

scipy 是一個(gè)數(shù)值計(jì)算庫(kù),官網(wǎng) https//www.scipy.org,

scipy包包含致力于科學(xué)計(jì)算中常見(jiàn)問(wèn)題的各個(gè)工具箱。它的不同子模塊相應(yīng)于不同的應(yīng)用。像插值,積分,優(yōu)化,圖像處理,,特殊函數(shù)等等。

scipy可以與其它標(biāo)準(zhǔn)科學(xué)計(jì)算程序庫(kù)進(jìn)行比較,比如GSL(GNU C或C++科學(xué)計(jì)算庫(kù)),或者M(jìn)atlab工具箱。scipy是Python中科學(xué)計(jì)算程序的核心包;它用于有效地計(jì)算numpy矩陣,來(lái)讓numpy和scipy協(xié)同工作。

在實(shí)現(xiàn)一個(gè)程序之前,值得檢查下所需的數(shù)據(jù)處理方式是否已經(jīng)在scipy中存在了。作為非專(zhuān)業(yè)程序員,科學(xué)家總是喜歡重新發(fā)明造輪子,導(dǎo)致了充滿漏洞的,未經(jīng)優(yōu)化的,很難分享和維護(hù)的代碼。相反,Scipy程序經(jīng)過(guò)優(yōu)化和測(cè)試,因此應(yīng)該盡可能使用。

Integral

Optimize

Interpolation

Liner

Others

1.Integral 積分
# -*- coding:utf-8 -*-

"""
@author: Corwien
@file: sciTest.py
@time: 17/11/7 00:57
"""

import numpy as np

def main():
    #1--integral
    from scipy.integrate import quad, dblquad

    print(quad(lambda x:np.exp(-x), 0, np.inf))  # print: (1.0000000000000002, 5.842606742906004e-11)
    # print(dblquad(lambda  t, x:np.exp(-x*t)/t**3, np.inf.lambda x:1, lambda x:np.inf))



if __name__ == "__main__":
    main()
   
六、pandas

pandas官網(wǎng) 為了解決數(shù)據(jù)分析而創(chuàng)建的庫(kù)。

基本操作:

# -*- coding:utf-8 -*-

"""
@author: Corwien
@file: pandasTest.py
@time: 17/11/7 00:57
"""

import numpy as np
import pandas as pd

def main():
    #Data Structure
    s=pd.Series([i*2 for i in range(1, 11)])
    print(type(s))
    dates = pd.date_range("20171110", periods=8)
    df = pd.DataFrame(np.random.randn(8, 5), index = dates, columns=list("ABCDE"))
    print df
    

if __name__ == "__main__":
    main()
   

打印結(jié)果:


                   A         B         C         D         E
2017-11-10 -0.634174 -0.075550  1.029316  0.548124  1.556995
2017-11-11  1.060133 -0.392410 -0.007274 -0.555487  1.350169
2017-11-12  0.443465 -0.635941 -0.194218  0.195767 -0.732606
2017-11-13  0.760449 -0.526587  0.007155  0.554792 -1.230684
2017-11-14  1.624870 -0.304462  0.646139  0.187635  1.537512
2017-11-15 -1.312318  1.145372 -0.226041 -0.463330  0.446066
2017-11-16 -0.586573  0.803408 -1.565312  1.949908 -0.959705
2017-11-17  0.863814 -0.949896  1.880501 -0.032511 -0.116557

Process finished with exit code 0

相關(guān)文章:
Anaconda使用總結(jié)
Python 網(wǎng)頁(yè)爬蟲(chóng) & 文本處理 & 科學(xué)計(jì)算 & 機(jī)器學(xué)習(xí) & 數(shù)據(jù)挖掘兵器譜


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/40986.html

相關(guān)文章

  • 首次公開(kāi),整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過(guò)得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過(guò)去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評(píng)論0 收藏0
  • 學(xué)習(xí)Python:做數(shù)據(jù)科學(xué)還是網(wǎng)站開(kāi)發(fā)?

    摘要:屬于前一種,而且日益被用于數(shù)學(xué)計(jì)算機(jī)器學(xué)習(xí)和多種數(shù)據(jù)科學(xué)應(yīng)用。近來(lái),由于擁有多個(gè)針對(duì)機(jī)器學(xué)習(xí)自然語(yǔ)言處理數(shù)據(jù)視覺(jué)化數(shù)據(jù)探索數(shù)據(jù)分析和數(shù)據(jù)挖掘的插件,豐富的數(shù)據(jù)科學(xué)生態(tài)體系得到了較大的發(fā)展,甚至有將數(shù)據(jù)科學(xué)社區(qū)化的趨勢(shì)。 譯者注:本文的英文原文地址是:Python for Data Science vs Python for Web Development,發(fā)布時(shí)間是10月29日。譯者一...

    neu 評(píng)論0 收藏0
  • 關(guān)于Python的三個(gè)謊言,別再盲目學(xué)Python

    摘要:關(guān)于的三個(gè)謊言,你一定要清楚。這是的整個(gè)知識(shí)體系圖譜,對(duì)于新手來(lái)說(shuō),沒(méi)必要學(xué)那么多。第四自動(dòng)化測(cè)試一切關(guān)于自動(dòng)化的東西,似乎都可以滿足,可以滿足大多數(shù)自動(dòng)化工作,提升工作效率。這都是正常的,千萬(wàn)別急著否定自己,懷疑自己。 ...

    TZLLOG 評(píng)論0 收藏0
  • 細(xì)數(shù)Python三十年技術(shù)演變史——萌發(fā)于小眾,崛起于AI

    摘要:作者宋天龍來(lái)源科技大本營(yíng)導(dǎo)語(yǔ)一切都始于年的那個(gè)圣誕節(jié),的誕生并不算恰逢其時(shí),它崛起充滿了機(jī)遇巧合,也有其必然性。年的圣誕節(jié),開(kāi)始編寫(xiě)語(yǔ)言的編譯器。年發(fā)布的標(biāo)志著的框架基本確定。年月發(fā)布了系列的最后一個(gè)版本,主版本號(hào)為。 showImg(https://segmentfault.com/img/remote/1460000019862276); 作者 | 宋天龍來(lái)源 | AI科技大本營(yíng) ...

    tuniutech 評(píng)論0 收藏0
  • Python與R、Matlab的對(duì)比

    摘要:我們來(lái)看一下美國(guó)相關(guān)專(zhuān)業(yè)人員對(duì)兩者的對(duì)比,只是粗略而不精準(zhǔn)的翻譯一下。小結(jié)其實(shí)在寫(xiě)這篇文章之前,我就問(wèn)過(guò)一下包括清華在內(nèi)的學(xué)校以及一些數(shù)學(xué)專(zhuān)業(yè)的學(xué)生,和還是占主流,但是經(jīng)過(guò)一番調(diào)查發(fā)現(xiàn)在美國(guó)在數(shù)據(jù)科學(xué)數(shù)學(xué)等方面好像漸成壓倒性的優(yōu)勢(shì)。 作為一枚程序員,想要研究Python編程語(yǔ)言與數(shù)學(xué)學(xué)習(xí)(教學(xué))的結(jié)合,就不能不了解以及比對(duì)一下其他數(shù)學(xué)學(xué)習(xí)與應(yīng)用的解決方案,比如R語(yǔ)言、Matlab等數(shù)學(xué)...

    yunhao 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.30 - 學(xué)習(xí) Python 來(lái)做一些神奇好玩的事情吧

    摘要:學(xué)習(xí)筆記七數(shù)學(xué)形態(tài)學(xué)關(guān)注的是圖像中的形狀,它提供了一些方法用于檢測(cè)形狀和改變形狀。學(xué)習(xí)筆記十一尺度不變特征變換,簡(jiǎn)稱(chēng)是圖像局部特征提取的現(xiàn)代方法基于區(qū)域圖像塊的分析。本文的目的是簡(jiǎn)明扼要地說(shuō)明的編碼機(jī)制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開(kāi)始之前,我們先來(lái)看這樣一個(gè)提問(wèn): pyth...

    lifesimple 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<