df.sort_index() - dataframe에 숫자들이 index 기준 순차적으로 정렬 - df.sort_index(axis=0, ascending=Ture) : index 기준 순차적 정렬 - df.sort_index(axis=0, ascending=False) : index 기준 큰 숫자부터 정렬
df.sort_values() - values 기준으로 순차적으로 정렬
df[ : ] - slicing으로 선택하는 것 - e.g. df[1:5] --> 1,2,3,4 까지 data 보는 것
df.loc[ ] (행렬을 입력해서 selesction) - 행 1개를 입력하면 해당 행에 대한 series가 모두 나옴
df.loc[ : ] - 행의 범위를 선택하면 범위 내 행의 series가 모두 나옴
df.at[ ] - 1개 data만 선택할 때 - df.at[행:렬]
df.iloc[ ] (순서 번호를 입력해서 selection) - 순서 번호를 입력하면 해당 숫자의 data가 나옴 - e.g. df.iloc[1,2]
df.iat - df.iloc과 유사 - 한 column이나 row를 선택하려면 --> index나 값을 한개만 입력 - 연속된 column이나 연속된 row를 선택하려면 --> : (slicing) - 불연속한 column이나 불연속한 row를 선택하려면 --> [ ] (list를 사용)
df[df["A"] > 0] - data frame내 0보다 큰 값에 대해서 selection
column을 새로 추가하고 싶을 때 - df[추가하고자 하는 열] = [해당 열에 넣을 data]
df.copy( ) - 값이 복사 됨
df.isin([ ]) - df.isin()은 DataFrame에서 특정 값을 포함하는 행 또는 열을 선택하는 데 사용되는 메서드 - 주어진 값들의 집합을 포함하는지 여부에 따라 불리언(True/False) 값의 DataFrame을 반환 - 이를 통해 특정 조건을 충족하는 행이나 열을 선택할 수 있음. - 예를 들어,df.isin([value1, value2])는 DataFrame에서 값이 value1 또는 value2인 모든 요소가 포함된 행 또는 열을 선택함
df.dropna( ) - df.dropna()는 DataFrame에서 결측값(NaN 또는 None)을 포함한 행이나 열을 삭제하는 method
df.fillna( ) -NaN 또는 None값을 채우는 함수 - e.g. df.fillna(value=5) --> non값에 5로 채워짐
pd.isna( ) - df.dropna()는 DataFrame에서 결측값(NaN 또는 None)을 포함한 행이나 열을 삭제하는 method
df.mean( ) - mean값을 알려주는 method
df.sub
df.agg
df.transform = df.T
.value_counts( ) - series 내 숫자가 몇 개가 있는지 세어주는 method
.value_counts( ).sort_values(ascending=True) - 개수가 많은 data 순으로 나열해 주는 method
s.str.lower( ) - string을 모두 소문자로 바꿔주는 method
pd.concat( ) - series? 들을 합쳐서 표로 만들어 줌 - 똑같이 생긴 data를 아래로 붙여준다 생각하면 됨 - numpy에서는 concatrate
pd.merge( ) - join 과 동일(?)
- pd.merge(lest, right, on='key'): 경우의 수 대로 다 붙임
- df.merge(letf, right, left_on='key1', right_on='key2')
df.merge(letf, right, left_on='key1', right_on='key2', how='outer') - how=outer는 데이터프레임을 결합할 때, 양쪽 모든 인덱스를 보존하면서 결합하는 방식을 지정 -이 방식은 왼쪽과 오른쪽 데이터프레임에서 공통된 인덱스가 아닌 모든 인덱스를 포함하여 결합 -결합된 데이터프레임에서 결측값이 있는 위치에는 NaN이 채워짐
df.groupby.sum( ) - (찾아보기)
df.stack( ) - Dataframe의 열을 행으로 회전시키는 작업을 수행함 (내가 원하는 data 형식으로 바꾸고 싶을 때 사용) - 이로써 다중 인덱스를 갖는 Series나 DataFrame을 생성 - 결과적으로 생성된 Series나 DataFrame은 누락된 값들을 자동으로 제거함
stacked.unstack( ) -stack된 dataframe을 다시 원래 형태로 되돌림
pivot_table( ) -데이터를 집계하고 요약할 때 씀 - 주어진 데이터에 따라 평균값, 합계, 개수 등을 계산하고, 여러 행과 열을 사용하여 다양한 조합의 집계를 생성 - privot_table(df, index, column) 순으로 입력 - index: 생성된 피벗 테이블의 행 인덱스로 사용할 열을 지정 -columns: 생성된 피벗 테이블의 열 인덱스로 사용할 열을 지정 -values: 집계될 값을 나타내는 열을 지정 -aggfunc: 집계 함수를 지정. 기본적으로 평균이 사용되지만, 다른 함수도 지정할 수 있음
ts.resample( ).sum( )
Series.tz_localize( )
Series.tz_convert( )
Series.cat( )
df.to_csv('폴더명/파일명', encoding='utf-8', index=False) - csv file로 저장
df=pd.read_csv('폴더명/파일명')
pd.read_csv( )
df.to_excel( ) - excel file로 저장할 때 사용 -conda install openpyxl 설치 - df.to_excel('폴더명/파일명')
pd.read_excel( ) - excel 로 읽을 때 사용
# for 문 사용시 pandas mehod를 찾아보고 사용 # shift + tap 누르면 설명 나옴(Jupyter)
Open CV
인텔에서 개발한 오픈소스 컴퓨터비전 라이브러리
기본적으로 이미지나 영상에 변화를 주고 검출을 하고 사물을 인식하는 알고리즘을 개발해서 의료산업계나 A.I / 자율주행쪽에서 활발히 쓰이는 기술
[[Basic]] - 이미지 데이터는 본래 개별 원소로 이루어진 행렬의 집합 - 여기서 개별 원소는 픽셀(pixel)이라고 할 수 있으며 개별 원소의 값은 픽셀의 강도라고 할 수 있음 - 픽셀의 강도는 0(검정)부터 255(흰색) 사이의 범위를 가지고 있음 - 컬러를 이미지를 읽기 위해서는 imread() 메소드에cv2.IMREAD_COLOR매개변수를 넣어주면 됨 - 주의할점은 OpenCV는 기본적으로 이미지를 BGR타입으로 읽음 - 하지만 Matplotlib등 대부분의 이미지 라이브러리는 RGB타입을 사용하기 때문에 BGR 타입으로 변경해 주는 것이 좋음 - array(배열)은 데이터를 저장하기위한 다차원 배열 - array를 다루는 대표적인 library는 Numpy - shape의 속성은 Numpy 배열의 차원을 설명하는 속성 - e.g. [[1,2,3] [4,5,6] [7,8,9]] --> 이 array는 shape(3,3)인 3개의 행과 3개의 열로 이루어진 2차원 배열 --> 숫자의미는 가로/세로 pixel이 각각 3이면서, 2차원이니 gray - 컬러 이미지 개념 --> 480 * 640 인 행렬이 3개 합쳐져 있다고 생각하면 됨
cv2.cvtColor(bgr_img, cv2.COLOR_BGR2RGB) plt.imshow(rgb_img); --> rgb image로 변환 됨 - cv2는 - cvtColor() : OpenCV에서 이미지의 색 공간을 변환하는 함수. 색상 공간 변환은 이미지 처리 및 컴퓨터 비전에서 중요한 작업으로, 한 색상 공간에서 다른 색상 공간으로 이미지를 변환할 수 있음 - cv2.COLOR_: BGR에서 RGB로의 컬러 변환을 수행하는 상수 - plit: matplotlib 실행 시 사용
imwirte: image file 종류 전환 시 사용
imread('file 명', IMREAD_GRAYSCALE):
cmap - colormap을 의미. colormap은 이미지를 표시할 때 각 픽셀의 값을 색으로 매핑하는 방법을 말함. - 예를 들어, 'gray'로 설정하면 흑백 이미지를 표시하며, 각 픽셀의 밝기에 따라 서로 다른 회색조 색상을 사용하여 이미지를 표현.
그레이 스케일 영상에는 컬러로 그리기 불가→cv2.cvtColor() 함수로 컬러 영상으로 변환한 후 작업
직선 그리기
img : 그림을 그릴 이미지
pt1, pt2 : 직선의 시작점과 끝점. (x,y) 튜플
color : 선 색상 또는 밝기. (B,G,R) 튜플 또는 정수
thickness : 선 두께. 기본값 1
lineType : 선 종류. cv2.LINE_4, cv2.LINE_8 (기본값), cv2.LINE_AA 중 선택
shift : 그리기 좌표 값의 축소 비율. 기본값 0
e.g. 흰 바탕에 직선 그리기 - np.ones((400,400,3)) : 너비가 400, 높이가 400 이며, 픽셀이 3개의 값을 가지는 이미지를 생성 - np.ones((400,400,3), np.uint8): 0~255 까지의 값을 나타내는 부호없는 8비트 정수 데이터 형식 - np.ones: 모든 픽셀을 1로 채워서 흰색을 나타냄 - img: 선을 그릴 이미지 - (50, 50): 선의 시작점 좌표 - (200, 50): 선의 끝점 좌표 - (0, 0, 255): 선의 색상을 나타내는 BGR 형식의 튜플 - 5: 선의 두께