import numpy as np
import random
a = np.array(random.sample(range(1,21), 9)).reshape([3,3])
print('a:',a)
result = []
for i in a:
# print(i)
result.append(np.max(i))
result.append(np.sum(i))
print('result:',result)
result = np.array(result)
print('array result:',result)
result = result.reshape([3,2])
print('result:\n',result)
import numpy as np
a=100
print(a)
print(type(a))
L1=[1,2,3,4]
print(L1)
print(type(L1))
print(len(L1))
L2=[[1,2,3,4],[5,6,7,8]]
print(L2)
print(type(L2))
print(len(L2))
print(len(L2[0]))
print(len(L2[1]))
print()
b = np.array(100)
print('b :',b)
print(type(b))
print(b.ndim)
print(b.shape)
print()
c = np.array([1,2,3])
print('c :',c)
print(type(c))
print(c.ndim) #몇차원 배열인지
print(c.shape) #어떤 모양인지 (방의 갯수로 나옴)
print()
d = np.array([[1,2,3]])
print('d :',d)
print(type(d))
print(d.ndim) #몇차원 배열인지
print(d.shape) #어떤 모양인지 (방의 갯수로 나옴)(1, 3) 1행 3열
print()
# array() : numpy 모듈 안에 있는 함수로
# 숫자 , 리스트 , 튜플을 인자로 넣어서 배열로 바꾸는 함수다.
e = np.array([[1,2,3],[4,5,6,7]])
print('e :',e)
print(type(e))
print(e.ndim)
print(e.shape)
t = e.shape
print(t[0])
print(len(e))
e[0][1] =222
#e[0] = 999 해당 행을 전부 바꾼다.행마다 열의 갯수가 다르면 바뀌지 않는다.
for i in e :
for j in i :
print(j,end=' ')
print()
for i in range(e.shape[0]) :
for j in range(0,len(e[i])) :
print(e[i][j],end=" ")
print()
print()
import numpy as np
L1=[1,2,3]
L2=[4,5,6]
arr1=np.array([1,2,3,4])
arr2=np.array([4,5,6,7])
print(L1+L2)
#print(L1*L2) error
print(arr1+arr2)
print(arr1*arr2)
print()
print(arr1.shape)
arr11 = arr1.reshape([2,2])
print('arr11:',arr11)
print(arr11.shape)
arr22= np.reshape(arr2,(2,2))
print('arr22:',arr22)
print(arr22.shape)
arr33=arr1.reshape([1,4])
print('arr33:',arr33)
print(arr33.shape)
print(arr33.ndim)
arr44 = arr33.transpose() #행과 열을 바꿈
print('arr44:',arr44)
print(arr44.shape)
print(arr44.ndim)
#arr = np.array([[1,2],[3,4],[5,6]])
d =[]
for i in range(1,13) :
d += [i]
arr = np.array(d).reshape([4,3])
# arr = np.array([i for i in range(1, 7)]).reshape([3,2])
# arr = np.array(range(1, 7)).reshape([3,2])
print('arr:',arr)
print(arr.shape)
print(arr.ndim)
result = arr>2
print('result:',result)
print(arr[result])
print(arr[arr>2])
print(arr[1])
print(arr[1:3]) #1<=x<3
print(arr[1:3,0:2]) #1<=x<3 , 0<=y<2 행,열
print(arr[0:len(arr),0:2])
#print(arr[:,0:2])
import numpy as np
a= range(5)
print('a:',a)
print(type(a))
for i in a:
print(i,end='')
print()
b= np.arange(5) #arange([start,] stop[, step,], dtype=None, *, like=None) 대괄호는 생략 가능하다.
print('b:',b)
print(type(b))
for i in b:
print(i,end='')
print()
c=np.arange(6).reshape([2,3])
print('c:',c)
print('-----------------------')
result = np.repeat(10,5) #[10 10 10 10 10]
print(result)
print(type(result))
arr=np.array([1.57,2.48,3.93,4.33])
print('arr:',arr)
print()
result =np.ceil(arr)
print(result)
result =np.floor(arr)
print(result)
result =np.round(arr)
print(type(arr[0]))
print(result)
result =np.round(arr,1)
print(result)
result =np.max(arr)
print(result)
result =np.min(arr)
print(result)
print('----------------')
#mean,average 둘 다 평균을 구하는 함수
arr2 = np.sum(arr),np.average(arr),np.mean(arr),np.min(arr),np.max(arr)
print('arr2:',arr2)
print(type(arr2))
arr=np.array([1.57,2.48,3.93,4.33])
print('arr:',arr)
arr1=np.array([1.90,2.28,-3.93,4.33])
print('arr1:',arr1)
result =np.maximum(arr,arr1)
print(result)
result =np.minimum(arr,arr1)
print(result)
result =np.equal(arr,arr1)
print(result)
#numpy 모듈 안에 random 모듈 안에 random 함수가 있다.
result = np.random.random() #0<=x<1
print(result)
result = np.random.random()*10 #0*10<=x<1*10
print(result)
result = (np.random.random()*10)+5 #0*10+5<=x<1*10+5
print(result)
print(int(result))
print(np.floor(result))
print(round(result))
#range + random 같은 함수
result =np.random.permutation(10)
print(result)
print(type(result))
import random
result = random.random()
print(result)
print(random.randrange(1,10)) #1<=x<10 하나만 가져온다.
print(random.randrange(1,10,3)) #1 4 7 중 하나
print(random.sample(range(1,10),3)) #1~9 random *3
import random
lotto = random.sample(range(1,46),6)
print(lotto)
select=[]
count=0
while True:
try :
selone=int(input('1~45사이의 수 입력:'))
if selone>45 or selone<1 :
raise ArithmeticError('1~45사이의 수를 입력해야합니다.')
if selone in select :
raise NameError('이미 입력한 수입니다.')
except ValueError :
print('숫자로 입력하세요.')
continue
except ArithmeticError as err :
print(err)
continue
except NameError as err :
print(err)
continue
else :
select += [selone]
if len(select) == 6 :
break
for i in lotto :
for j in select :
if i==j :
count +=1
print('로또 번호',lotto)
print('내 번호',select)
print('ok:',count)
if count <3 :
print('꽝입니다.')
elif count==3 :
print('4등')
elif count==4 :
print('3등')
elif count==5 :
print('2등')
elif count==6 :
print('1등입니다. 축하축하')
pandas (다음날 수업에 들어가기전 맛보기 였습니다.)
import numpy as np
import pandas as pd
arr = np.array([10,40,30,20])
print('arr :',arr)
print(type(arr))
print()
s1 = pd.Series([10,40,30,20])
print('s1 :',s1)
'''
s1 :0 10
1 40
2 30
3 20
dtype: int64
'''
print(type(s1))#<class 'pandas.core.series.Series'>
print(s1.shape,s1.ndim) #(4,) 1 방 4개 1차원배열
print('s1.index:',s1.index) # RangeIndex(start=0, stop=4, step=1)
print('s1.values:',s1.values) # [10 40 30 20]
print(s1[1])
print()
s2= pd.Series([10,40,30,20],['슬기','정국','웬디','슈가'])#뒤에 쓰는건 index= 이다.
print('s2:',s2)
print(s2['웬디']) #30
print()
print(s2[['웬디']])
'''
웬디 30
dtype: int64
'''
print(s2[0])
s2['슬기']=70 #변경
s2['윤아']=50 #추가
print('s2:',s2)
print(s2.values < 40) #[False False True True False]
print(s2[s2.values<40])
print()
print(s2[['웬디','슈가']]) # 대괄호 두개 필수
print('s2:',s2)
print('s2*2:',s2*2)
print()
print('정국' in s2) #True
print('장동건' in s2) #False
print(s2.shape,s2.ndim) #(5,) 1
print('-----------------')
from pandas import Series
#import pandas.Series as Series
d={'서울':2000,'부산':3000,'울산':4000,'광주':5000}
print('d:',d)
print(type(d))
s3 = Series(d) #key=index value=value
print('s3 :',s3)
print('s3.index:',s3.index)
print('s3.values:',s3.values)
city = ['부산','제주','서울','광주']
s4= Series(d,index=city)
'''
부산 3000.0
제주 NaN 원래 없던 index라 NaN으로 나온다. 나머지 값도 실수로 변환한다.
서울 2000.0
광주 5000.0
'''
print('s4:',s4)
print('---------------')
s5 = s4.reindex(['a','서울','c','d'],fill_value=0)
print('s5:',s5)
print()
print('s2:',s2)
print(s2['슈가'])
print(s2[3])
print(s2[-1])
new_s = s2.drop(['정국','윤아'])
print('new_s:',new_s)
print(s2[2:4])
print()
print(s2[2:7])
print()
print(s2[[1,3,4]])
print()
print(s2['정국':'슈가']) #'슈가'가 포함된다.
print('-------------------')
print('s2:',s2)
print()
print(np.max(s2)) #Series의 value의 최대값
print(np.sum(s2)) #Series의 value의 합계
s2 = s2.sort_index(ascending=False) # index 기준 정렬
#ascending = True 는 오름차순
print('s2:',s2)
s2 = s2.sort_values() # value 기준 정렬
print('s2:',s2)
print('---------------')
d= {'모모':10,'정연':np.NaN,'채연':30,'다현':50}
s3 = Series(d)
print('s3:',s3)
print(s3.dropna())
print(s3.notnull())
print(s3[s3.notnull()]) # ==print(s3.dropna())
'Develop > Python' 카테고리의 다른 글
1013 Python csv (0) | 2022.10.13 |
---|---|
1012 Python pandas DataFrame (0) | 2022.10.13 |
1007 Python Class,예외처리,DB (1) | 2022.10.13 |
1006 Python 파일 입출력,클래스 (0) | 2022.10.06 |
1005 Python list 이어서,튜플,사전,함수,모듈 (1) | 2022.10.06 |