numpy 创建加一行_Python数据分析快速入门--NumPy amp; Pandas
之前為大家分享了python的基本語法,有疑問的小伙伴可以參考下文~
土豆愛數學:零基礎如何快速入門python?zhuanlan.zhihu.com對python基本語法了解后,就可以嘗試用python進行數據分析了。python在數據分析領域用到最多是包numpy、pandas 和 matplotlib:
- numpy是用于科學計算,比如線性代數中的矩陣計算(在機器學習中非常有用);
- pandas是基于numpy的數據分析工具,該工具是為了解決數據分析任務而創建的,它提供了一套名為數據框dataframe的數據結構,可以方便地對表結構的數據進行分析;
- matplotlib是一個圖形繪制庫,專門用于數據分析結果的可視化。
那么在進行正式數據分析之前,我們先來學習一下這幾個包的使用(本文主要介紹numpy和pandas包,matplotlib圖表可視化后續會專門出教程~),后續會結合實際的案例幫助大家更好的理解這幾個包的使用,以及數據分析的基本過程。
本文目錄一、科學計算工具:numpy包學習
numpy包學習內容框架首先在notebook中導入numpy包
#導入numpy包并重新命名(需要先安裝,可以直接在終端安裝:pip install numpy)先來學習一下numpy的基礎數據結構,numpy數組是一個多維數組對象,稱為ndarray,可以創建一維、二維、三維幾多維數組。
數組的基本屬性:
- ① 數組的維數稱為秩(rank),一維數組的秩為1,二維數組的秩為2,以此類推
- ② 在NumPy中,每一個線性的數組稱為是一個軸(axes),秩其實是描述軸的數量:比如說,二維數組相當于是兩個一維數組,其中第一個一維數組中每個元素又是一個一維數組,所以一維數組就是NumPy中的軸(axes),第一個軸相當于是底層數組,第二個軸是底層數組里的數組。而軸的數量——秩,就是數組的維數。
1??array()創建一維數組及操作
一維數組學習內容框架1、numpy一維數組創建
#創建一維數組:array()函數,括號內可以是列表、元祖、數組、生成器等2、一維數組基本元素查詢及切片訪問
通常一個切片操作要提供三個參數:[切片起始位置: 切片的結束位置(不包括): 步長]step可以不提供,默認值是1,步長值不能為0,不然會報錯ValueError。ar
3、可以循環訪問
ar4、基本計算:加減乘除,平均值,最大最小值,方差標準差等
print注:numpy 一維與列表的差異:numpy數組中的每個元素都必須是同一種數據類型,而列表中的元素可以是不同的數據類型。2??array()創建二維數組及操作
二維數據結構是指這個數據既有行又有列,有點類似于Excel里的二維表格
二維數組學習內容框架1、創建二維數組:array()函數(三維數組同理)
ar2、二維數組元素查詢及切片訪問(三維數組同理)
print3、布爾型索引及切片(三維數組同理)
# 以布爾型的矩陣去做篩選4、numpy數軸參數
ar3??其他numpy創建數組方法
# 其他創建數組方法:arange(),類似range(),在給定間隔內返回均勻間隔的值。 # 其他創建數組方法:linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None):返回在間隔[start,stop]上計算的num個均勻間隔的樣本# 其他創建數組方法:zeros(shape, dtype=float, order='C'):返回給定形狀和類型的新數組,用零填充
# 其他創建數組方法:zeros_like() 返回具有與給定數組相同的形狀和類型的零數組
# 其他創建數組方法:ones()/ones_like(),和zeros()/zeros_like()一樣,只是填充為1
# 其他創建數組方法:eye(),創建一個正方的N*N的單位矩陣,對角線值為1,其余為0
4??numpy通用函數
# 數組形狀:.T方法:轉置,例如原shape為(3,4)/(2,3,4),轉置結果為(4,3)/(4,3,2) → 所以一維數組轉置后結果不變# 數組形狀:.reshape(a, newshape, order='C'):為數組提供新形狀,而不更改其數據,所以元素數量需要一致
# 數組形狀:.resize(a, new_shape):返回具有指定形狀的新數組,如有必要可重復填充所需數量的元素
# 數組復制:.copy() 如ar1 = ar.copy()
# 數組類型轉換:.astype(),如ar2 = ar1.astype(np.int32)
5??Numpy隨機數
numpy.random包含多種概率分布的隨機樣本,是數據分析輔助的重點工具之一,感興趣的可以百度或私信~二、數據分析工具:pandas學習
pandas包學習內容框架首先在notebook中導入pandas包
#導入pandas包并重新命名(需要先安裝,可以直接在終端安裝:pip install pandas)先來學習一下pandas的基礎數據結構,pandas有Series和Dataframe兩種數據結構,分別代表了一維數組和二維數組:
- Series 數據結構是帶有標簽的一維數組,可以保存任何數據類型(整數,字符串,浮點數,Python對象等),軸標簽統稱為索引;
- Dataframe是一個表格型的數據結構,“帶有標簽的二維數組”
1??pandas一維數組Series創建及操作
1、創建series:創建方法一:由字典創建 / 創建方法二:由數組創建(一維數組) / 名稱屬性:name
# 創建方法一:由字典創建,字典的key就是index,values就是values2、Series索引:iloc屬性用于根據位置獲取值/ loc屬性用于根據索引獲取值/ 切片索引 / 布爾型索引
# 位置下標索引,位置下標從0開始3、基本數據技巧:數據查看 / 獲取描述統計信息 / 向量化運算 / 刪除缺失值 / 將缺失值進行填充
# 數據查看4、series與array一維數組的聯系與區別:
pandas是建立在numpy的基礎上的,series和ndarray較相似,索引切片功能差別不大。但是Series比Array的功能更多,series相比于ndarray,是一個自帶索引index的數組,所以當只看series的值的時候,就是一個ndarray
2??pandas二維數組Dataframe創建及操作
Dataframe學習內容框架1、創建方法
- 常用方法:由字典創建(由數組/list組成的字典)
- 其他變形創建方法:由series組成的字典/由字典組成的列表/由字典組成的字典/通過二維數組直接創建
2、Dataframe索引
>>查詢數據:iloc屬性用于根據位置獲取值:查詢元素 / 獲取行 / 獲取列
#查詢元素:查詢第1行第2列的元素>>查詢數據:loc屬性用于根據索引獲取值:查詢元素 / 獲取行 / 獲取列
#查詢元素:查詢第1行第2列的元素>>數據框復雜查詢:切片索引
#通過列表來選擇某幾列的數據 salesDf[['商品名稱','銷售數量']] 結果#通過切片功能,獲取指定范圍的列 salesDf.loc[:,'購藥時間':'銷售數量']結果>>數據框復雜查詢:條件判斷(布爾型索引)
#通過條件判斷篩選 salesDf.loc[querySer,:]結果3、查看數據集描述統計信息
#讀取Ecxcel數據 salesDf.head(3) 結果#查看數據有多少行,多少列 salesDf.describe()結果4、dataframe與array二維數組的聯系與區別:
numpy數組中的每一個元素都屬于同一種數據類型,這在數值計算和科學計算中是非常有用的。但是它不利于我們表示類似于Excel中的內容,因為Excel中每一列的數據類型可能都不一樣
DataFrame 也有索引的功能,這使得其很容易存儲常見的表格數據,DataFrame 的每一列數據可以是不同類型,這就方便表示 Excel 中的數據內容。
三、總結~
以上分享了利用python進行數據分析兩個最關鍵的包:numpy與pandas的基礎學習內容,還有如numpy中random隨機數、pandas中datetime時間模塊等也是數據分析中常用到的模塊函數,包括數據python在可視化matplotlib包的學習,后續會繼續分享給大家。
接下來會分享利用python進行數據分析的實戰項目(大型零售數據分析案例),讓大家更好的理解數據分析的過程,與numpy與pandas包的學習應用
最后~附上python數據分析入門numpy與pandas包的學習筆記~希望對大家有幫助,有任何問題歡迎聯系與指正。
numpy與pandas學習筆記總結
以上是生活随笔為你收集整理的numpy 创建加一行_Python数据分析快速入门--NumPy amp; Pandas的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 与虫子尾交3d动画网站_PPT中最酷的效
- 下一篇: webview加载本地html_安卓we