본문 바로가기

Python231

판다스 : 결측값 □ 결측값 ○ 누락값을 의미 ○ 0 또는 '' 과는 다른의미임 ○ 데이터 자체가 없다는 의미임 ○ 그렇다고 같다라는 의미도 아님 ○결측값과 True, False, 0, ' ' 비교결과 → 모두 False 출력 print(NaN == True) print(NaN == 0) print(NaN == False) print(NaN == NaN) #값 자체가 없어, 자신과 비교해도 거짓 ○결측값을 확인하는 매서드 isnull, notnull → True, True, False 출력 print(pd.isnull(NaN)) print(pd.isnull(nan)) print(pd.notnull(NaN)) 2024. 2. 2.
판다스 : 중복개수 확인, 조건 False일 때 에러발생 코드 □ 문법 ○ 변수명['필드명'].value_counts() visited['site'].value_counts() ○ assert : False일시 assertionError assert ps_vs.shape[0] == 19 #참이라 오류반환 X / 행수와 같아서 True assert ps_vs.shape[0] == 10 #오류반환 / 행수와 달라서 False 2024. 2. 2.
판다스 : Merge □ 기본설명 및 함수기능 □ 예제 1 ○ 라이브러리 호출 및 파일 불러오기를 통한 데이터 프레임 생성 #라이브러리호출 import pandas as pd #csv불러오기 및 데이터프레임 생성 person = pd.read_csv('C:/python/DataScience/Data/data/python_data/survey_person.csv') site = pd.read_csv('C:/python/DataScience/Data/data/python_data/survey_site.csv') survey = pd.read_csv('C:/python/DataScience/Data/data/python_data/survey_survey.csv') visited = pd.read_csv('C:/python/Data.. 2024. 2. 2.
크롤링 : 멜론 □ 목적 ○ 차트 1~100위 곡명, 아티스트, 엘범명 데이터 크롤링 ○ 아티스트 세부정보 접속 링크 추출 ○ 엘범명 세부정보 접속 링크 추출 □ 코딩과정 ○ 라이브러리 호출 ○ 함수정의 : 아티스트, 엘범 세부정보 접속시 자바스크립트 코드 안에 있는 번호 추출을 위해 함수지정 ○ * .text 는 해당 태그 또는 하위 태그안의 텍스트를 출력하지만, .string은 특정 태그값이 지정되었을 때 정확한텍스트를 추출함 □ 코드 # 라이브러리 호출 import requests import re from bs4 import BeautifulSoup # 크롤링 페이지 입력 # 네이버뷰 주소 + 검색키워드 target_url = 'https://www.melon.com/chart/index.htm' print(f'.. 2024. 2. 2.
판다스 : 예제(concat, 정규표현) □ 예제 ○ 데이터 프레임 병합 ○ 필드 두개 생성 및 기존필드 값을 가공하여 신규 필드에 저장 - 정규표현 활용 - split 및 리스트 인데스 활용 □ 코드 import re #정규표현를 위한 라이브러리 호출 import pandas #판다스 라이브러리 호출 #데이터프레임 호출 및 병합 paper_2011 = pd.read_csv('C:/Users/romangrism/Desktop/Datasicence/Data/data/python_data/paper_information_2011.csv') paper_2012 = pd.read_csv('C:/Users/romangrism/Desktop/Datasicence/Data/data/python_data/paper_information_2012.csv') p.. 2024. 2. 2.
판다스 : concat □ concat : 데이터 프레임간의 결합 ○ 형식 : pd.concat([데이터프레임1, 데이터프레임2], axis = True / False ) - axis = True : 열방향 병합 - axis = False : 행방향 병합 □ 예제 ○ 데이터 불러오기 df1 = pd.read_csv('C:/Users/romangrism/Desktop/Datasicence/Data\data/python_data/concat_1.csv') df2 = pd.read_csv('C:/Users/romangrism/Desktop/Datasicence/Data\data/python_data/concat_2.csv') df3 = pd.read_csv('C:/Users/romangrism/Desktop/Datasicence/D.. 2024. 2. 2.
판다스 : 컬럼타입 확인, 판다스 날짜컬럼 변환, 시리즈 컬럼 추가 □ 특정 컬럼타입 조회 print(scientists['Born'].dtypes) print(scientists['Died'].dtypes) □ 기존 날짜데이터를 날짜타입으로 변환 #기존 데이터프레임 날짜열 복사 및 날짜형식변환을 통한 신규 시리즈 생성 born_datetime = pd.to_datetime(scientists['Born'], format = '%Y-%m-%d') died_datetime = pd.to_datetime(scientists['Died'], format = '%Y-%m-%d') □ 시리즈를 신규 열 생성과 동시에 데이터로 사용 #기존 데이터 프레임에 생성한 시리즈를 신규 열로 추가 scientists['edit_born'], scientists['edit_died'] = (b.. 2024. 2. 2.
판다스 : 필드집계, 정렬(오름/내림차순), 컬럼추가 □ 필드간 연산 ○ 변수명[필드명].sum() ○ 변수명[필드명].mean() 등 □ 정렬 ○ 오름차순 : 변수명 = pd.sort_values(by = 필드명, absendng = True) ○ 내림차순 : 변수명 = pd.sort_values(by = 필드명, absendng = False) □ 컬럼추가 ○ 변수명[신규필드명] = 시리즈 데이터 □ 예제 : 평균 구하기, 평균보다 큰데이터, 정렬 ○ 데이터프레임생성 #데이터프레임 생성 scientists = pd.read_csv('C:/Users/romangrism/Desktop/Datasicence/Data\data/python_data/scientists.csv') scientists.head() ○ 평균 & 평균보다 큰 데이터 - 변수명[필드명].. 2024. 2. 2.
판다스 : 데이터프레임 생성 및 필드명/데이터 조회 □ 숫자 인덱스를 활용할 수 없다면 .loc 활용 □ 데이터 조회 : .values □ 필드명 조회 : .keys ※ 딕셔너리를 활용하여 데이터 프레임을 생성했을 경우 □ 딕셔너리를 활용하여 데이터 프레임 생성 import pandas as pd #라이브러리 호출 #데이터프레임 생성 new_df = pd.DataFrame( { 'occupation' : ['chemist','stastician'], 'born' : ['1992-07-25','1876-06-13'], 'died' : ['1958-04-16', '1937-10-16'], 'age' : [37,61]}, index = ['Rosaline Flankine', 'William Gosset'], #인덱스지정 columns = ['occupation.. 2024. 2. 1.