본문 바로가기

분류 전체보기226

[데이터 분석] Padas - 4 그룹핑특정 값을 기준으로 몇 개의 그룹으로 분할하여 처리하는 방식df = pd.DataFrame({'A': ['chol','young']*3 +['chol'], 'B': [ 'one','one','two','one','two', 'two','one'], 'C': np.random.randn(7), 'D': np.random.randn(7)})df새로운 데이터프레임 생성 grouped = df.groupby('B')print(grouped) for key,group in grouped: print('key:',key) print(group.head()) print('-'*30) 그룹 객체 만들기.. 2023. 11. 11.
[데이터 분석] Pandas - 3 df = pd.DataFrame([[1,2],[3,4]], index= ['A','B'], columns= ['a','b'])df새로운 데이터 프레임 생성(인덱스가  A,B , 컬럼명이 a,b 인 1행이 1,2, 2행이 3,4 로 채워진 2행 2열의 데이터 프레임) 데이터프레임 간의 조합pd.concat()두 개 이상의 데이터 프레임을 행 또는 열 방향으로 연결한다. 열 방향으로 연결하고자 할 경우 axis = 1 인자를 전달한다.(default: axis = 0) 행 방향으로 연결하고자 할 때는 열 이름이 같아야 하고, 열 방향으로 연결하고자 할 때는 행 이름이 같아야 하다.df2 = pd.concat([df,df])df2concat()의 축 기본값이 axis = 0 이기 때문에 열에 방향(아래쪽으로).. 2023. 11. 11.
[데이터 분석] Pandas - 2 예제로 쓰이는 데이터 프레임 원본이다.인덱싱, 슬라이싱# df['a'] 키 에러 (열읽기)df[['A','C']]'a'는 행에 있는 인덱스 이름이기 때문에 df['a']로 읽어올 수 없다.  = 열의 순서를 이용해서 인덱싱 할 수 없다.열 위치 값을 이용해서 인덱싱이나 슬라이싱을 이용하려면 columns 속성을 이용한다. # df[0] # 컬럼명으로 인식하게 됨df.columns # 컬럼의 값을 ndarray로 반환# Index(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], dtype='object')df.columns[0] # 'A'# 위치값을 이용해서 컬럼 이름을 가져올 수 있다.df[df.columns[2:4]] # 데이터 프레임 형식으로 2번째, 3번.. 2023. 11. 11.
[데이터 분석] Pandas - 1 판다스 개요판다스는 데이터 조작 및 분석을 위해 파이썬 프로그래밍 언어로 작성된 소프트웨어 라이브러리이다. 일명 파이썬의 엑셀이라 부른다. URL : https://pandas.pydata.org pandas - Python Data Analysis Librarypandas pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language. Install pandas now!pandas.pydata.org 판다스 불러오기판다스는 일반적으로 pd라는 별칭으로 불러온다.import pandas as pdimp.. 2023. 11. 11.
[데이터 분석] Numpy - 4 (실습문제) 총 21문제(기본기 체크용) 문제 6번을 통해 Boolean indexing에 대해 이해도를 높일 수 있었다. (** np.array) 문제 7번 - 단위 행렬과 정방 단위 행렬은 길이의 차이 인것 같다. 문제 10번 - 헷갈릴 수 있었던 axis 축 설정도 무리 없이 풀었다. 문제 21번 - np.random.randint 에는 복원추출에 대한 요소가 없다. 하지만, np.random.choice()를 활용하여 안에서 바로 범위를 잡고, 복원추출 유무도 설정 할 수 있다. ________________________________________________________________________________________________________________ [문제] BMI 지수 계산 및 .. 2023. 11. 8.
[백준알고리즘] 10818번 최소, 최대 문제풀이min() : 최소값 , max() : 최대값numbers = list(map(int, input().split())) : 입력받은 데이터를 공백 기준으로 나누고 map 을 통해 int로 형 변환을 시켜준 후 리스트에 저장한다.그것을 numbers 변수에 저장한다.cnt = int(input()) numbers = list(map(int, input().split()))print(min(numbers),max(numbers)) 2023. 11. 7.
[데이터 분석] Numpy - 3 기본 연산 배열에 대한 산술 연산자는 요소별로 적용된다.( np.floor_divide == // , np.remainder == %) 연산 시 자료형은 적절하게 형변환(upcasting) 된다. a = np.ones(3,dtype= np.int32) print(a.dtype.name) # int32 # 데이터 타입 이름만 가져온다. b = np.linspace(0,np.pi,3) print(b.dtype.name) c = a + b # 서로 상응하는 원소끼리 print(c) # [1. 2.57079633 4.14159265] 통계 연산 통계연산은 axis와 밀접한 관계가 있다. 축 값을 입력하지 않으면 모든 원소에 대한 연산 결과를 출력한다. a = np.arange(12).reshape(3,4) pr.. 2023. 11. 7.
[데이터 분석] Numpy - 2 배열 생성 -1 > array()를 이용한 생성 :: 대표적 파이썬의 list나 tuple을 이용해서 numpy의 ndarray를 생성한다. 다차원 배열의 모든 원소는 동일한 데이터 타입을 가져야 한다. - 정수형 int64, int32(기본타입), int16, int8, uint64 형이 있다. 64,32.. = 크기 int64 : -2^63 ~ 2^63 -1 까지의 정수 표현 64개의 비트: 1(부호비트)+63비트(값 저장 비트) -1: 맨 앞 부호 비트가 0이고 63 개가 1로 채워졌을때 취할 수 있는 범위 uint64: 0 ~ 2^64-1 까지의 정수 표현 (부호비트가 없기때문에 64개를 다 사용한다.) - 실수형 실수형의 default type 은 'float64' # 데이터 타입 확인 intA.. 2023. 11. 7.
[데이터 분석] Numpy -1 Numerical Python의 약자 고성능의 수치 해석용 python 라이브러리. 대규모의 다차원 배열과 행렬 연산에 필요한 다양한 함수를 제공 Python 다차원 배열의 이해 > 숫자 자료형 # 세 명의 학생의 수학과목 점수 설정 math1 = 11 math2 = 12 math3 = 13 # 합과 평균 구하기 total = math1 + math2 + math3 average = total / 3 print(f"수학점수 합: {total}") print(f"수학점수 평균: {average:.2f}") 새로운 학생이 전학을 온다면? 어떻게 할 것인가 > 리스트 자료형 math_list = [11,12,13] math_list.append(14) # 새로운 학생 total = 0 average = 0 f.. 2023. 11. 7.