1. 程式人生 > 資訊 >盒馬迴應上線“隔日淨”洗衣服務:確有此事

盒馬迴應上線“隔日淨”洗衣服務:確有此事

numpy、scipy、pandas、matplotlib的讀書報告:

Numpy:

來儲存和處理大型矩陣,比Python自身的巢狀列表(nested list structure)結構要高效的多,本身是由C語言開發。這個是很基礎的擴充套件,其餘的擴充套件都是以此為基礎。資料結構為ndarray,一般有三種方式來建立。

Pandas:

基於NumPy 的一種工具,該工具是為了解決資料分析任務而建立的。Pandas 納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具。最具有統計意味的工具包,某些方面優於R軟體。資料結構有一維的Series,二維的DataFrame(類似於Excel或者SQL中的表,如果深入學習,會發現Pandas和SQL相似的地方很多,例如merge函式),三維的Panel(Pan(el) + da(ta) + s,知道名字的由來了吧)。

學習Pandas你要掌握的是:
1.彙總和計算描述統計,處理缺失資料 ,層次化索引
2.清理、轉換、合併、重塑、GroupBy技術
3.日期和時間資料型別及工具(日期處理方便地飛起)

Matplotlib:

Python中最著名的繪圖系統,很多其他的繪圖例如seaborn(針對pandas繪圖而來)也是由其封裝而成。
繪製的圖形可以大致按照ggplot的顏色顯示,但是還是感覺很雞肋。但是matplotlib的複雜給其帶來了很強的定製性。其具有面向物件的方式及Pyplot的經典高層封裝。

需要掌握的是:
1.散點圖,折線圖,條形圖,直方圖,餅狀圖,箱形圖的繪製。
2.繪圖的三大系統:pyplot,pylab(不推薦),面向物件
3.座標軸的調整,新增文字註釋,區域填充,及特殊圖形patches的使用
4.金融的同學注意的是:可以直接呼叫Yahoo財經資料繪圖

Scipy:

方便、易於使用、專為科學和工程設計的Python工具包.它包括統計,優化,整合,線性代數模組,傅立葉變換,訊號和影象處理,常微分方程求解器等等。基本可以代替Matlab,但是使用的話和資料處理的關係不大,數學系,或者工程系相對用的多一些。

解決一些具體問題(Pandas)

import pandas as pda
    # 使用pandas生成資料
    # Series代表某一串資料 index指定行索引名稱,Series索引預設從零開始
    # DataFrame代表行列整合出來的資料框,columns 指定列名
    a = pda.Series([8, 9, 2, 1], index=['one', 'two', 'three', 'four'])
    # 以列表的格式建立資料框
    b = pda.DataFrame([[5,6,2,3],[3,5,1,4],[7,9,3,5]], columns=['one', 'two', 'three', 'four'],index=['one', 'two', 'three'])
    # 以字典的格式建立資料框
    c = pda.DataFrame({
        'one':4, # 會自動補全
        'two':[6,2,3],
        'three':list(str(982))
    })
    # b.head(行數)# 預設取前5行頭
    # b.tail(行數)# 預設取後5行尾
    # b.describe() 統計資料的情況  count mean std min 25% max
    e = b.head()
    f = b.describe()
    # 資料的轉置,及行變成列,列變成行
    g = b.T

Matplotlib影象處理

import matplotlib.pyplot as plt
import numpy as np
# 生成測試資料
x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2
# 生成畫布
plt.figure(facecolor='grey')

# figure()中的屬性
'''
**num=3**
    畫出來圖的標題就是‘Figure 3’
    如果傳一個str,eg.    num='折線圖'   圖的標題就是‘折線圖’

**figsize=(8, 4)**
    指定繪圖物件的寬度和高度,單位為英寸,一英寸=80px
    
**facecolor='blue'**
    背景顏色,預設是白色
    也可以以‘#+6位16進位制數’給出,eg.   '#00ff00'
    
**edgecolor='red'**
    邊框顏色,預設是白色
'''
# 畫圖
plt.plot(x, y1, linestyle='--')
plt.plot(x, y2)

# plot的屬性
'''
**linewidth=3**
    線條寬度
    也可以寫作   lw=3

**markersize='20'**
    線上標記的尺寸
    注意要傳字串型別的值

**marker='2'**
    線上的標記
    =============    ===============================
    character        description
    =============    ===============================
    ``'.'``          point marker
    ``','``          pixel marker
    ``'o'``          circle marker
    ``'v'``          triangle_down marker
    ``'^'``          triangle_up marker
    ``'<'``          triangle_left marker
    ``'>'``          triangle_right marker
    ``'1'``          tri_down marker
    ``'2'``          tri_up marker
    ``'3'``          tri_left marker
    ``'4'``          tri_right marker
    ``'s'``          square marker
    ``'p'``          pentagon marker
    ``'*'``          star marker
    ``'h'``          hexagon1 marker
    ``'H'``          hexagon2 marker
    ``'+'``          plus marker
    ``'x'``          x marker
    ``'D'``          diamond marker
    ``'d'``          thin_diamond marker
    ``'|'``          vline marker
    ``'_'``          hline marker
    =============    ===============================

**linestyle=':'**
    線的型別
    =============    ===============================
    character        description
    =============    ===============================
    ``'-'``          solid line style
    ``'--'``         dashed line style
    ``'-.'``         dash-dot line style
    ``':'``          dotted line style
    =============    =============================== 
    也可表示為linestyle='dashed'   

**colors='r'**

    The supported color abbreviations are the single letter codes

    =============    ===============================
    character        color
    =============    ===============================
    ``'b'``          blue
    ``'g'``          green
    ``'r'``          red
    ``'c'``          cyan
    ``'m'``          magenta
    ``'y'``          yellow
    ``'k'``          black
    ``'w'``          white
    =============    ===============================
    也可用'#ff0000'這種形式表示
'''
# 必須要有這一句畫圖才能顯示
plt.show()