資料分析(1)
資料分析
1.numpy
1.1 陣列
1.1.1 建立陣列
# newlist = [1,2,3]
# print('列表',newlist)
# print(type(newlist))
# arr1 = numpy.array(newlist)
# print('陣列',arr1)
# print(type(arr1))
1.1.2 陣列的組成
1.1.2.1 維度的個數
print('維度的個數',arr1.ndim)
1.1.2.2 維度的大小
print('維度的大小',arr1.shape)
1.1.2.3 資料型別
print('資料型別',arr1.dtype)
1.1.3 陣列的隨機抽樣建立
arr1 = numpy.random.rand(3,4)
注意:
rand如果不指定任何引數,返回的是一個浮點數(小數),指定引數之後,其實指定的就是陣列的大小
arr1 = numpy.random.uniform(size=3)
arr2 = numpy.random.uniform(size=(3,4))
arr3 = numpy.random.uniform(5,10,size=(3,4))
注意:
uniform如果不指定引數,預設的資料區間為0-1,返回的是一個浮點數
arr1 = numpy.random.randint(-1,20,(4,4))
注意:
randint返回的是整數,可以指定負數範圍
1.1.4 陣列的序列建立
arr1 = numpy.array()
numpy.zeros
全為0的陣列
numpy.ones
全為1的陣列
numpy.arange
建立的是一維陣列
arr1.reshape()
對原有陣列進行重組,將一維陣列轉變為多維陣列,但是資料的數量要對應
1.2 索引與切片
1.2.1 一維陣列
arr1 = np.arange(10)
arr1[0]
arr1[0:2]
#一維陣列與列表類似,陣列[起始位置:結束位置:步長]
1.2.2 多維陣列
arr2 = np.arange(12).reshape(3,4)
arr2[0][2]
arr2[0,2]
#陣列中間以逗號為分隔,陣列[行索引,列索引]
1.2.3 取連續多列
arr2[:,1:3]
array([[ 1, 2],
[ 5, 6],
[ 9, 10]])
1.2.4 取連續多行
arr2[0:2]
array([[0, 1, 2, 3],
[4, 5, 6, 7]])
1.2.5 取不連續多行
#取1,3行
arr2[[0,2],:]
array([[ 0, 1, 2, 3],
[ 8, 9, 10, 11]])
1.2.6 取不連續多列
#取1,3,4
arr2[:,[0,2,3]]
array([[ 0, 2, 3],
[ 4, 6, 7],
[ 8, 10, 11]])
1.2.7 條件篩選
#條件篩選
arr2>5
array([[False, False, False, False],
[False, False, True, True],
[ True, True, True, True]])
arr2[arr2>5]
array([ 6, 7, 8, 9, 10, 11])
#取出當前陣列中所有大於5的偶數
arr2>5
array([[False, False, False, False],
[False, False, True, True],
[ True, True, True, True]])
arr2%2==0
array([[ True, False, True, False],
[ True, False, True, False],
[ True, False, True, False]])
arr2[(arr2>5) & (arr2%2==0)]
array([ 6, 8, 10])
1.3 元素計算函式
1.3.1 一元運算子
np.ceil() 引數可以是陣列也可以是數字,向上取整
np.floor() 引數可以是陣列也可以是數字,向下取整
np.rint() 四捨五入
np.abs 絕對值
np.square 平方
np.modf 將整數部分和整數部分分離作為單獨的陣列返回,返回形式是元組
np.isnan 判斷是否有空值
1.3.2 二元運算子
add 陣列相加,元素可以是數字或者陣列,但是陣列在相加的過程中,注意必須對應
subtract 陣列相減,元素可以是數字或者陣列,但是陣列在相加的過程中,注意必須對應
multiply 元素相乘
divide 元素相除
floor_divide 元素相除取整數商,拋去餘數
mod 取餘
power 元素求次方
1.3.3 三元運算子
# where(條件,返回值1,返回值2) 如果滿足條件,返回返回值1,否則返回返回值2
#建立浮點型陣列,找到四捨五入後大於20或者小於15的數字,滿足則返回0,否則返回正常值
arr5 = np.random.uniform(10,25,size=(3,4))
arr5
array([[20.49391706, 22.51440077, 18.00017271, 12.60778079],
[22.16917256, 22.04108387, 21.60469827, 17.1202335 ],
[19.68909432, 24.12315481, 15.2338755 , 20.79586799]])
np.where((np.rint(arr5)>20)|(np.rint(arr5)<15),0,arr5)
array([[20.49391706, 0. , 18.00017271, 0. ],
[ 0. , 0. , 0. , 17.1202335 ],
[19.68909432, 0. , 15.2338755 , 0. ]])
相關文章
- 第1章:大資料分析大資料
- 【資料分析】針對家庭用電資料進行時序分析(1)
- Python資料分析(二): Pandas技巧 (1)Python
- RFID之M1卡資料分析
- 1電商平臺零售資料分析
- Python資料分析(二): Numpy技巧 (1/4)Python
- 分析Oracle資料庫日誌檔案(1)Oracle資料庫
- 動手學習資料分析第1章
- 資料庫連線分析(1)-從JDBC到MyBatis資料庫JDBCMyBatis
- 分析Oracle資料庫日誌檔案(1)(轉)Oracle資料庫
- 分析Oracle資料庫日誌檔案(1) [轉]Oracle資料庫
- python-資料分析-Pandas-1、Series物件Python物件
- Python大資料分析學習.Pandas 資料匯入問題 (1)Python大資料
- 初遇python--之新手學資料分析(1)Python
- Python資料分析 | Numpy與1維陣列操作Python陣列
- 資料分析
- 挖掘資料隱含的業務資訊(1)——訂單銷售交易類資料分析
- 利用python進行資料分析之準備工作(1)Python
- Python資料分析--工具安裝及Numpy介紹(1)Python
- python-資料分析-NumPy的應用-1、基礎Python
- 從零開始資料分析:一個資料分析師的資料分析流程
- 資料模型與資料分析模型
- 知瓜資料:2021年Q1李寧品牌直播資料分析報告
- 大資料就業前景分析的太到位了【附:1T視訊資料】大資料就業
- 淘寶資料:2010年Q1淘寶主要類目成交資料分析
- 分析型資料庫:分散式分析型資料庫資料庫分散式
- 資料分析——numpy
- 資料分析: DataFrame
- 資料分析02
- 資料包分析
- 資料塊分析
- 廣告資料分析
- 資料分析--資料預處理
- 資料探勘的資料分析方法
- 資料分析 | 資料清理的方法
- 電商資料分析必備的4種資料分析方法
- 圖解資料分析 | 資料分析的數學基礎圖解
- 大資料、資料分析、資料探勘的差別大資料