Python基礎知識

2021-08-26 14:42:52 字數 2835 閱讀 6702

#將條件邏輯表達為資料運算

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...