NumpyPandas的区别和联系
目錄
一、Numpy
二、Pandas
一、Numpy
numpy是以矩陣為基礎的數學計算模塊,提供高性能的矩陣運算,數組結構為ndarray。
首先需要明確數組與列表的區別:數組是一種特殊變量,雖與列表相似,但列表可以存儲任意類型的數據,數組只能存儲一種類型的數據,同時,數組提供了許多方便統計計算的功能(如平均值mean、標準差std等)。
那么numpy有哪些功能呢?
首先在使用前要導入該模塊(導入前要安裝,方法自行搜索吧(*^-^*)),代碼如下:
import numpy as np1. 通過原有列表轉化為數組
2.直接生成數組
- 生成一維數組? ?
- ?
?上圖中由于生成一維數組時,沒有給參數10 定義數據類型,所以數組元素的類型默認為float64。那定義數據類型為整型時會是什么結果呢?
- 生成多維數組?
zeros返回來一個給定形狀和類型的用0填充的數組,同理,ones返回來一個給定形狀和類型的用1填充的數組。但更多情況下我們想指定某個值,這時用np.full(shape, val)生成全為val的值,如下:
?
- 隨機數取值?
我們知道random庫中可以通過random.randint(5,10)來隨機生成一個5-10的數,如下:
在numpy中也有一個類似的加強版的功能。
?
- 范圍取值??
- ?
訪問數組中的元素
?
- ?基本數學運算
numpy在做運算時,是對數組中每個元素都進行運算。
?常用的運算符號及等價函數總結如下:
?
- ?數組變形
?數組變形時,數組總大小保持不變,如上圖中我們定義了一個兩行五列的數組,總大小為2*5=10,經變形后得到一行十列的數組,總大小仍為10,但我們無法變成3*4或6*9等類型。
- 數組拼接
- 數組排序
二、Pandas
pandas是基于numpy數組構建的,但二者最大的不同是pandas是專門為處理表格和混雜數據設計的,比較契合統計分析中的表結構,而numpy更適合處理統一的數值數組數據。pandas數組結構有一維Series和二維DataFrame。
使用前同樣需要先導入該模塊,代碼如下:
import pandas as pd1. Series
Series是一種類似于一維數組的對象,它由一組數據以及一組與之相關的數據標簽(索引index)組成。
?Series的字符串表現形式為:索引在左邊,值在右邊。如果不為數據指定索引,則會默認創建一個0到n-1的整數型索引。
- ?通過原有字典轉化為數組
- ?訪問元素
與numpy相比,除了根據位置獲取值外,還可以根據索引獲取。
?
- ?向量化運算
上圖運行結果可以看到出現了缺失值NaN(not a number),這是因為索引值b、c、d、e、f、g只出現在一個一維數組中。在數據分析過程中,我們通常不希望缺失值出現,那么如何解決呢?
一般常用的有兩種方法:
?2. DataFrame
DataFrame是一個表格型的數據結構,其中的數據是以一個或多個二維塊存放的,而不是列表、字典或別的一維數據結構。它含有一組有序的列,每列可以是不同的數據類型,它既有行索引,也有列索引。
- 將原有字典轉化為DataFrame
- ?訪問元素
?
?
- ?條件篩選
- ??排序
?
- ?應用函數
?
?其他常用函數舉例如下:
?
# 取前五行 table.head()# 取后五行 table.tail()# 查看行列數 table.shape()# 查看每一列的統計信息 table.describe()......?以上就是numpy與pandas的基礎內容,如有遺漏或錯誤,歡迎評論區指正~~
總結
以上是生活随笔為你收集整理的NumpyPandas的区别和联系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [106].从中序与后序遍历序列构造二叉
- 下一篇: python不定长参数详解