#將條件邏輯表達為資料運算import numpy as np
import sys
xarr=np.array([1.1,1.2,1.3,1.4,1.5])
yarr=np.array([2.1,2.2,2.3,2.4,2.5])
cond=np.array([true,false,true,true,false])
result=[(x if c else y) for x,y,c in zip(xarr,yarr,cond)]
# print(result)
#[1.1, 2.2, 1.3, 1.4, 2.5]
result=np.where(cond,xarr,yarr)
# print(result)
#[1.1 2.2 1.3 1.4 2.5]
arr=np.random.randn(4,4)
# print(arr)
# [[ 0.81087732 -0.0261381 -1.25487167 -0.87705213]
# [-1.04039547 -0.74374567 -1.0833896 -1.99172423]
# [-0.35348778 -0.9124479 0.63235869 -1.89039235]
# [ 0.5071046 -1.25036853 -0.86280827 3.24040794]]
arr1=np.where(arr>0,2,-2)
# # print(arr1)
# [[ 2 -2 -2 -2]
# [-2 -2 -2 -2]
# [-2 -2 2 -2]
# [ 2 -2 -2 2]]
arr2=np.where(arr>0,2,arr)
# print(arr2)
# [[ 2. -0.0261381 -1.25487167 -0.87705213]
# [-1.04039547 -0.74374567 -1.0833896 -1.99172423]
# [-0.35348778 -0.9124479 2. -1.89039235]
# [ 2. -1.25036853 -0.86280827 2. ]]
result=
cond1=np.array([1,2,0,0])
cond2=np.array([0,3,0,5])
for i in range(cond1.shape[0]):
if cond1[i] and cond2[i]:
elif cond1[i]:
elif cond2[i]:
else:
# print(result)
# [1, 0, 3, 2]
result=np.where(cond1 &cond2,0,np.where(cond1,1,np.where(cond2,2,3)))
# print(result)
# [1 0 3 2]
arr=np.random.randn(5,4)
# print(arr)
# print(arr.mean())
# print(arr.sum())
# print(arr.mean(axis=1)) #按行計算均值
# print(arr.sum(axis=0))#按行計算和
arr=np.array([[0,1,2],[3,4,5],[6,7,8]])
# print(arr)
# [[0 1 2]
# [3 4 5]
# [6 7 8]]
# print(arr.cumsum(0)) #按列計算和,有中間結果
# [[ 0 1 2]
# [ 3 5 7]
# [ 9 12 15]]
# print(arr.cumprod(1)) #按行計算機積,有中間結果
# [[ 0 0 0]
# [ 3 12 60]
# [ 6 42 336]]
# print(arr.cumsum()) #計算總和,有中間結果
# [ 0 1 3 6 10 15 21 28 36]
arr=np.random.randn(100)
# print((arr>0).sum()) #統計arr中大於0的個數
bools=np.array([false,false,true,false])
# print(bools.any())
# print(bools.all())
# true
# false
######陣列排序
arr=np.random.randn(8)
arr.sort()
arr=np.random.randn(5,3)
arr.sort(1) #按行排序
#判斷乙個陣列元素是否在另乙個陣列裡
values=np.array([6,0,0,3,2,5,6])
print(np.in1d(values,[2,3,6]))
#集合邏輯
#unique(x) #計算x中的唯一元素,並返回有序結果
np.insersect1d()#計算x和y的公共元素,並返回有序結果
np.union1d() #計算x和y的並集,並返回有序結果
np.in1d()#得到
np.setdiff1d()#集合的差,即元素在x中且不在y中
np.setxor1d()#集合的對稱差,即存在於乙個陣列中但不同時存在於兩個陣列中的元素
Python 基礎知識
來自 一 識別符號 1.python 中的識別符號是區分大小寫的。2.標示符以字母或下劃線開頭,可包括字母,下劃線和數字。3.以下劃線開頭的識別符號是有特殊意義的。以單下劃線開頭 foo 的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用 from import 而匯入 以雙下劃線開頭的...
python基礎知識
一.隨機數的生成 都需要 import random 1.用於生成乙個指定範圍內的隨機浮點數。print random.uniform 10,20 print random.uniform 20,10 2.生成乙個指定範圍內的整數。下限必須小於上限制 print random.randint 12,...
python基礎知識
py基礎學習 1.命令列輸入python命令式,例如python test.py c m install sys.argv test.py c m install 2.切片,str 0 5 1 含頭不含尾,表示倒序切 3.unicode和encode unicode str,utf 8 將utf 8...