본문 바로가기

Python88

[Python] Pandas DataFrame 함수 적용하기 apply() 📝파이썬 판다스 데이터프레임 함수 적용하기 .apply(함수) : DataFrame에 함수를 적용하여 반환한다 >>> df['컬럼'].apply(함수) # 함수의 ()를 빼고 이름만 넣어 사용한다 def 로 직접 만든 함수를 이용할 수도 있다 apply 메서드로 함수적용이 불가할때는 판다스의 str 라이브러리 이용하는 방법도 있다 ※ 판다스 공식 홈페이지 참고하기 https://pandas.pydata.org/docs/reference/api/pandas.Series.str.upper.html >>> df['컬럼'].str.함수() 2022. 11. 25.
[Python] Pandas DataFrame 조건 데이터 가져오기 loc[ ], isin() 📝파이썬 판다스 데이터프레임 조건 데이터 가져오기 조건 하나를 만족하는 데이터 전체 가져오기 / 특정 컬럼 가져오기 # 해당 컬럼의 값이 3이상인 데이터(행)만 가져오기 >>> df.loc[ df['컬럼'] >= 3 ] # 해당 컬럼a의 값이 3이상인 특정 컬럼들만 가져오기 >>> df.loc[ df['컬럼a'] >= 3, ['컬럼', '컬럼'] ] # 콜론(:)도 가능 조건 두개를 만족하는 데이터 전체 가져오기 ( &를 사용한다 ) # 해당 컬럼의 값이 4이상이고 8이하인 데이터(행)만 가져오기 >>> df.loc[ (df['컬럼'] >= 4) & (df['컬럼'] >> df.loc[ (df['컬럼'] >= 4) & (df['컬럼'] >> df.loc[ (df['컬럼']) == (df['컬럼'].max.. 2022. 11. 24.
[Python] Pandas DataFrame 중복 데이터 그룹하기 groupby() 📝파이썬 판다스 데이터프레임 중복 데이터 그룹하기 카테고리컬 데이터(Categorical Date)의 경우 데이터 분석시 데이터별로 묶어서 데이터를 분석할 수 있다 df.groupby('컬럼') : 컬럼 중복 데이터를 그룹화 해준다 >>> df.groupby('컬럼') # 그룹할 컬럼, 구할 컬럼 엑세스, 함수 입력하면 그룹화된 컬럼에서 원하는 컬럼값을 구할 수 있다 >>> df.groupby('그룹할 컬럼')['값을 구하고싶은 컬럼'].함수 df.groupby('컬럼').agg([함수, 함수]) : 집계함수를 한가지가 아닌 여러가지를 사용할때 사용한다 # 집계함수를 한가지가 아닌 여러가지를 사용할때 .agg를 사용한다 >>> df.groupby('컬럼').agg([함수, 함수]) df['컬럼'].val.. 2022. 11. 24.
[Python] Pandas DataFrame 함수 숫자 데이터만 계산하기(numeric_only=True) 📝파이썬 판다스 데이터프레임 함수 숫자 데이터만 계산하기 (numeric_only=True) : 데이터프레임을 함수로 계산할때 numeric_only=True를 입력해주면 숫자인 데이터만 계산해준다 # (numeric_only=Tru) 데이터 프레임 값에서 숫자만 계산해준다 >>> df.함수(numeric_only=True) 2022. 11. 24.
[Python] Pandas DataFrame NaN값 처리하기 isna(), notna(), dropna(), fillna() 📝파이썬 판다스 데이터프레임 NaN값 처리하기 (확인, 삭제, 추가, 변경) NaN? 값이 없을 때의 값 ( = null) df.isna() : 비어있는 데이터 갯수를 파악한다 # 해당 데이터프레임에 비어있는 값을 True로 나타낸다 >>> df.isna() # .sum()을 입력시 각 컬럼별로 비어 있는 값을 알려준다 >>> df.isna().sum() # .sum()을 두번 입력시 총 값(비어있는 총 갯수)을 알려준다 >>> df.isna().sum().sum() df.notna() : 비어있지 않은 데이터 갯수를 파악한다 (isna() 함수의 반대) df.dropna() : NaN이 들어있는 행을 삭제한다 # NaN이 들어있는 행을 삭제한다 >>> df.dropna() df.fillna(a) : N.. 2022. 11. 24.
[Python] Pandas csv 파일 불러오기 pd.read_csv() 📝파이썬 판다스 csv 파일 불러오기 pd.read_csv('csv파일명') : csv파일 불러오기 ( ../ → 지금 위치해있는 파일 위로 가라는 뜻) ※ index_col= 0 파일을 불러왔는데 Unnamed : 0 일때 입력하면 해당 컬럼이 인덱스로 지정됨 encoding=' ' 인코딩 입력 thousands=',' df에 콤마가 있을때 콤마를 빼고 숫자로 읽어오라고 입력 # 파일 불러오기 >>> pd.read_csv('csv파일명') >>> pd.read_csv('csv파일명', index_col= 0, encoding=' ', thousands=',') # index_col= 0 파일을 불러왔는데 Unnamed : 0 일때 입력하면 해당 컬럼이 인덱스로 지정됨 # encoding=' ' 인코딩입.. 2022. 11. 24.
[Python] Pandas DataFrame 가져오기(엑세스) loc[], iloc[] 📝판다스 데이터 프레임 가져오기(엑세스) 데이터 프레임에서 원하는 데이터를 엑세스하는 방법은 3가지이다 1. 컬럼의 데이터를 가져오는 방법 (변수명 바로 오른쪽에 대괄호[ ] 사용) 대괄호[ ] 안에 가져오고싶은 데이터 컬럼을 입력해주면 해당 컬럼에 있는 데이터를 가져온다 # 1가지 가져올때 >>> df['컬럼'] # 2가지 이상 가져올때는 리스트 >>> df[['컬럼','컬럼']] 2. 행과 열의 정보로 데이터를 가져오는 .loc[ , ] loc는 대괄호[ ] 안에 인덱스명과 컬럼명을 입력해주면 해당 인덱스와 컬럼에 있는 데이터를 가져온다 >>> df.loc['인덱스', '컬럼'] 3. 행과 열의 정보로 데이터를 가져오는 .iloc[ , ] iloc는 대괄호[ ] 안에 인덱스와 컬럼을 컴퓨터가 매기는 .. 2022. 11. 23.
[Python] Pandas 데이터 생성 pd.Series, pd.DataFrame, to_frame() 📝import pandas as pd 판다스(Pandas)는 데이터 셋을 이용한 다양한 통계 처리 기능을 제공하는 라이브러리다 (쉽게 말하면 엑셀의 기능을 제공하는 파이썬 모듈) ※ 판다스 1차원 배열은 시리즈(Series), 2차원 배열은 데이터프레임(DataFrame)이라고 한다 >>> import pandas as pd # pd는 판다스를 줄여서 사용할때 쓴다(약칭) pd.Series(data= a, index=b) : a 에 데이터(values) 값, b에 인덱스(index)값을 입력하면 1차원 데이터(시리즈)를 생성한다 인덱스값을 입력하지 않으면 컴퓨터가 매기는 인덱스값으로 나온다 >>> index = ['eggs', 'apples', 'milk', 'bread'] >>> data = [30, .. 2022. 11. 23.
[Python] Numpy 연산, 브로드캐스팅 boolean 연산 데이터를 가져오는 데이터 엑세스에서는 and, or 연산자를 사용하지 않고 &, | 를 사용한다 (& : and, | : or) 배열 연산 넘파이 배열연산은 1차원이든 2차원이든 넘파이가 알아서 각 배열에 연산을 시켜준다 브로드캐스팅 넘파이는 연산을 입력해주면 각 요소마다 연산이 수행된다 2022. 11. 23.
[Python] Numpy 데이터 엑세스 파이썬 넘파이 데이터를 엑세스하기 [ ] 넘파이 데이터 변수[ ]에 연산을 넣으면 해당 연산에 맞는 값을 출력해준다 [ ] 특정값만 잘라서 가져오는 슬라이싱을 하려면 콤마의 왼쪽이 행, 오른쪽에 열을 적어준다 ※ 열은 비워도 에러가 발생하지 않지만 행자리를 입력하지 않으면 에러가 발생한다 콜론을 사용해 원하는 부분만 슬라이싱도 가능하다 이런식으로 이어진 데이터가 아닌 데이터를 슬라이싱 하고싶을때는 [ ]안에 [ ]를 사용한다 ' = ' 기호로 데이터값을 변경하기도 가능하다 주의할점 : X를 슬라이싱해서 다른 변수(Y)로 저장해도 Y 데이터를 변경하면 X데이터도 변경된다 (Y가 X의 데이터를 가르키고있는 형태 = 메모리를 공유) .copy( ) : 다른 변수로 저장할때 뒤에 copy() 작성시 메모리 공유.. 2022. 11. 23.