<jupyter_start><jupyter_text>numpy - calculate- 기본연산- 브로드캐스팅- 함수- 퍼포먼스  기본연산<jupyter_code>ls = [1,2,3]
ls*3
ls = [num*3 for num in ls]
ls
na = np.array([1,2,3])
na
na*3
na1 = np.array([1,2,3])
na2 = np.array([4,5,6])
na1 * na2
# 비교연산
na1 == 2, na2 > 5
na1 = np.array(range(1,10))
print(na1)
na1 % 3 == 0
is3 = na1 % 3 == 0
na1[is3], na1[na1 % 2 == 0] # True값만 뽑기(filtering)<jupyter_output><empty_output><jupyter_text>브로드 캐스팅<jupyter_code>na1 = np.arange(12)
na2 = np.reshape(na1,(3,4))
na3 = np.ones((3,4), dtype=int)
print(na1)
print(na2)
na2 + na3
na2 + 1
# row에 대한 브로드 캐스팅
na4 = np.arange(4)
print(na4, na4.shape)
na4 + na2
# column에 대한 브로드 캐스팅
na5 = np.arange(3)[:, np.newaxis]
na5, na5.shape
na2
na2 + na5<jupyter_output><empty_output><jupyter_text>functions- min, max, argmin, argmax- sum, mean, median, std, var- all, any- quartile- exp, log<jupyter_code>r = np.random.randint(10, size=(2,3))
r, np.random.rand
# argmin(), argmax() : 위치값 출력
r.min(), r.max(), r.argmin(), r.argmax()
r.mean(), np.sum(r), 
np.sum(r, axis=0) # 같은 열의 합
np.sum(r, axis=1) # 같은 행의 합
r
np.median(r) # 펼쳤을 때 중앙값
np.std(r) # 표준편차
np.var(r)
# all : 모든 조건이 충족하면 True : AND의 개념
# any : 하나의 조건만 충족하면 True : OR의 개념
n1 = np.array(range(3,8))
n1
n2 = n1
n2
n3 = np.array([3,4,0,6,7])
n3
np.all(n1 == n2), np.all(n1 == n3)
n4 = np.array(range(10,15))
np.any(n1 == n2), np.any(n1 == n3), np.any(n4 == n1)
# 사분위수
na = np.arange(100, 201)
print(na)
np.percentile(na, 25), np.percentile(na, 62)
# 지수함수 : 작은 수치의 데이터 스케일을 키울 때 주로 사용
na = np.arange(1,6)
na
np.exp(na)
# 로그함수 : 큰 수치의 데이터 스케일을 줄일 때 주로 사용
na = np.arange(1,6)
np.log(na)<jupyter_output><empty_output><jupyter_text>성능확인<jupyter_code># 10 ** 7개의 리스트에서 3과 5의 배수의 갯수를 찾는시간
%%time
ls = []
size = int(10E7)
for data in range(size):
    ls.append(data)
len(ls)
%%time
la = np.arange(size)
len(la)
%%time
count = 0
for idx in range(len(ls)):
    if (ls[idx] % 3 == 0) or (ls[idx] % 5 == 0):
        count += 1
print(count) 
%%time
count = len(la[(la % 3 == 0 | (la % 5 == 0))])
count<jupyter_output>Wall time: 3.75 s
{'fraction_non_alphanumeric': 0.19882179675994108, 'fraction_numerical': 0.06872852233676977, 'mean_word_length': 4.095, 'pattern_counts': {'":': 0, '<': 16, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '97685', 'license': 'MIT', 'n_tokens_mistral': 1221, 'n_tokens_neox': 1298, 'n_words': 249, 'path': 'python/02_numpy_&_pandas/10_Numpy_Calculate.ipynb', 'repo_name': 'Junhojuno/TIL', 'size': '2037'}