본문 바로가기

Python231

판다스 : 시리즈, 데이터프레임 생성 □ 시리즈 *시리즈를 만들때 데이터와 인덱스 수 가 반드시 일치해야함 #형식 변수명 = pd.Series(data=[데이터1,데이터2], index=[데이터1,데이터2]) #예제 import pandas as pd my_s = pd.Series(data =['banana',42], index=['person','Who']) idx = my_s.index #인덱스만 저장 val = my_s.values #벨류(데이터)만 저장 □ 딕셔너리 #형식 변수명 = pd.Dataframe( { 키 : 벨류, 키 : 벨류, 키 : 벨류 } ) #예제(1) 키값은 필드명으로 벨류값은 필드별 데이터로 저장 scientists_1 = pd.DataFrame({ 'name' : ['Rosaline Flankine','Will.. 2024. 1. 31.
판다스 : 기초통계 □ 형식 #단일그룹 변수명.groupby('필드명')['필드명'].집계함수() #다중그룹 변수명.groupby(['필드명1','필드명2'])[['필드명3','필드명4']].집계함수() □ 예제 #라이브러리 호출 import pandas as pd #라이브러리 약어지정 # csv 파일 불러오기 # ┗ pandas.read_csv(경로, sept='\t') ex_df = pd.read_csv('경로', sep='\t') #data폴더에서 tsv파일 호출 #연도별 평균 기대수명 ex_df.groupby('year')['lifeExp'].mean() #연도와 대륙별 평균 기대수명과 gdp ex_df.groupby(['year','continent'])[['lifeExp','gdpPercap']].mean() #.. 2024. 1. 31.
판다스 : loc와 iloc □ .loc와 .iloc는 데이터프레임에서 특정 행이나 열을 선택하기 위한 방법임 ○ .loc : 인덱스 번호를 사용하지 않고 인덱스 명 또는 필드명으로 데이터를 조회하는 방법 ○ .iloc : 인덱스 번호를 활용하여 데이터를 조회하는 방법 ※ .loc 또는 .iloc[ : , : ] ▶ 행과 열 부분에 : 있다면 모든 데이터 즉, 모든 행/열을 의미 #라이브러리 호출 import pandas as pd #라이브러리 약어지정 # csv 파일 불러오기 # ┗ pandas.read_csv(경로, sept='\t') ex_df = pd.read_csv('경로', sep='\t') #data폴더에서 tsv파일 호출 #loc ex_df.loc[:, 'country'] #country 명을 활용해 해당 데이터만 조.. 2024. 1. 31.
csv 파일 불러오기 및 정보확인 □ 라이브러리 호출 및 파일 불러오기 #라이브러리 호출 import pandas as pd #라이브러리 약어지정 □ 데이터 프레임 기본정보 확인 : 변수명.info() ○ 컬럼(필드)의 종류 및 개수, 컬럼 타입 조회 가능 #라이브러리 호출 import pandas as pd #라이브러리 약어지정 # csv 파일 불러오기 # ┗ pandas.read_csv(경로, sept='\t') ex_df = pd.read_csv('경로', sep='\t') #data폴더에서 tsv파일 호출 ###데이터프레임 기본정보 확인 #(1)불러온 데이터 타입 확인 : 데이터 기준 pandas.core.frame.DataFrame 출력 type(ex_df) #(2)요약정보 확인 ex_df.info() #(3)행/열 개수 확인 .. 2024. 1. 31.
판다스(Pandas)/데이터프레임/시리즈 □ 판다스(Pandas) ○ 데이터프레임과 시리즈라는 자료형과 데이터 분석을 위한 다양한 기능을 제공하는 파이썬 라이브러리임 ○ 데이터의 수정/가공 및 분석이용이 ○ numpy 기반으로 데이터 처리가 빠름 ○ 수학적으로 변경, 계산시 엑셀보다 빠름 □ 데이터프레임 ○ 가로축과 세로축이 있는 엑셀과 유사한 데이터 구조 ○ 가로축은 로우(행), 세로축은 컬럼(열)이라고 함 ○ 데이터 프레임은 시리즈의 결합체임 □ 시리즈 ○ 데이터프레임의 컬럼이 모두 시리즈임 ○ 시리즈는 단순한 파이썬 리스트를 간직한 오브젝트임 ○ 리스트는 파라미터로 주면 바로 시리즈가 생성됨 ○ 시리즈는 데이터 가공 및 분석이 파이썬 리스트 보다 쉬움 2024. 1. 31.
파일 유형별 컨트롤 □ .tix파일 : 메모장 작성, 수정, 삭제 ○ r (읽기모드) : 파일을 읽을때 사용 #파일 조회 with open('경로','r', encoding = 'utf-8-sig') as 파일변수명: #파일내용 출력 for i in 파일변수명: print(i) ○ w(쓰기모드) : 파일에 데이터를 쓸 때 사용함. 단, 기존 파일 데이터는 삭제됨 파일변수명 = open('경로','w', encoding = 'utf-8-sig') 파일변수명.write('안녕하세요\n') 파일변수명.write('홍길동이에요\n') 파일변수명.close() ※ with구문을 사용하면 자동으로 열고, 닫기처리가 되지만, 사용하지 않을때는 꼭 close()닫기 처리를 해야함 ○ a (추가모드) : 파일의 기존 데이터 끝에서부터 데이.. 2024. 1. 31.
네이버 뷰 크롤링 : 제목, 작성자, 링크 + 예외처리 □ 목적 ○ 네이버 뷰에 게시글별 제목, 작성자, 해당글의 링크 데이터를 추출해보자 □ 고려사항 ○ 입력한 키워드에 따른, 관련 키워드 뷰 페이지에서 크롤링하도록 구현 ○ 네이버는 수시로 데이터가 포함된 태그값들이 변화됨 ○ 이 부분을 고려하여 적절한 예외처리를 진행하여 오류가 발생되도 멈추지 않고 코드가 실행되도록 코딩 □ 참고사항 ○ .get_text() 와 .text 차이 - .get_text() 메서드는 BeautifulSoup에서 제공하는 메서드로, HTML 요소의 모든 텍스트를 추출. 이 메서드는 해당 요소의 모든 자식 요소의 텍스트를 합쳐서 반환. 예를 들어, [ 이것은 굵은 텍스트입니다. ]에서 .get_text()를 호출하면 "이것은 굵은 텍스트입니다."를 반환. - .text 속성은 B.. 2024. 1. 30.
오류예외 처리 □ try - except 문 ○ try 구문에서 지정한 코드실행중 오류가 발생되면 ○ except 구문에서 지정한 코드가 실행됨 #기본형식 try: --- except [발생_오류 [as 오류_변수]] --- #예제1 a= 4/0 #오류출력ZeroDivisionError: division by zero try: 4/0 except ZeroDivisionError as e: print(e) #출력 : division by zero #예제2 try: a=[1.2] print(a[3]) #해당코드를 실행하면 오류로 except구문에서의 list index out of range 출력 4/0 #해당코드를 실행하면 오류로 except구문에서의 division by zero 출력 except (ZeroDivisi.. 2024. 1. 30.
클랙스/객체 □ 용어정리 ○ 클래스 : 객체를 만들기 위한 사용자 정의 자료형 틀 ○ 인스턴스 : 클래스를 기반으로 만들어진 구체적인 객체 ○ 메서드 : 클래스 내부에 선언된 함수 ○ 상속 : 어떤 클래스의 특성을 다른 클래스에 전달하는 기법 ○ 메서드 오버라이딩 : 같은 함수에 여러기능을 부여하는 구현기법으로 부모/자식 클래스에서 사용되는 함수이름이 같음 □ 예제 1) 기본형태 #기본형식 #클래스 지정 class Calculator: def __init__(self): self.result = 0 def add(self, num): self.result += num return self.result #객체 지정 → 위에서 지정한 클래스로 a, b 객체 생성. a, b 객체는 Calualator에서 지정한 메서드 사.. 2024. 1. 29.