본문 바로가기

Python/Pandas & numpy47

판다스 : 예제(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.
판다스 : 시리즈, 데이터프레임 생성 □ 시리즈 *시리즈를 만들때 데이터와 인덱스 수 가 반드시 일치해야함 #형식 변수명 = 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.