자신에게 친절할 것 :)
728x90
반응형

Data Science 37

[데이터 전처리] 결측값 missing value 찾기, 처리하기

# 코드잇 데이터 사이언티스트 강의 듣는 중  1) .info()airbnb_df.info() --> non-null count를 통해 다른 값들과 갯수가 다르면 null있다고 예측 가능.         2) .isna()airbnb_df.isna() #결측값이 있으면 TRUE --> 결측 값 여부에 따라서 true or false    - 이거로는 총 개수 확인이 어렵기 때문에 .sum()을 해줌airbnb_df.isna().sum() --> 이러면 결측치 보기가 편함.         - 조건식으로 확인하려면, .any(axis=1)을 넣어줌. airbnb_df.isna().any(axis=1) #any는 트루 값이 1개라도 있으면 트루 결측값 존재 확인. --> 불리언 시리즈로 출력--> 벡터 중 트..

Data Science/Pandas 2024.06.17

[Pandas] 엑셀xlsx , csv파일로 내보내기

# 코드잇 데이터 사이언티스트 강의 듣는 중  - .to_csv()loan_df.to_csv('data/loan1.csv') - but, 인덱스 자리의 값을 칼럼으로 보냄. loan_df1 = pd.read_csv('data/loan1.csv') --> index = True 가 기본값이기 때문에 파일을 내보낼 때, 인덱스 자리를 만드는 것.     - 한 번 더 하면 또 그렇게 됨. loan_df1.to_csv('data/loan2.csv')loan_df2 = pd.read_csv('data/loan2.csv') --> 인덱스에 이름이 없었기에 unamed가 추가됨.      - index= False 파라미터를 추가하면 값이 유지 됨. loan_df1.to_csv('data/loan2.csv', in..

Data Science/Pandas 2024.06.15

[Pandas] query()로 불린 인덱싱

# 코드잇 데이터 사이언티스트 강의 듣는 중  - 일반적인 불린 인덱싱loan_df[loan_df['income'] > 5000]  - .query() 를 사용하면 더 간단해짐. - 데이터 프레임 객체의 쿼리 메소드로 들어가서 ('조건 식') 을 넣어주기만 하면 됨. 데이터 프레임을 계속 안 써도 되서 더 짧아짐. loan_df.query('income > 5000')  - 변수의 비교도 가능 income_mean = loan_df['income'].mean()loan_df.query('income > @income_mean') --> 굳이 길게 안 써도 되니깐 훨씬 깔끔 해짐. --> 대신, 만든 변수 앞에는 @를 넣어줘야 함 (아니면 에러 뜸)  - 문자열도 그냥 조건문 ""/'' 넣어주면 됨. - ..

Data Science/Pandas 2024.06.14

[Pandas] 엑셀xlsx 파일 불러오기

# 코드잇 데이터 사이언스 강의 듣는 중  - . read_excell--> csv랑 동일 함. loan_df = pd.read_excel('data/loan.xlsx') - but, 파라미터를 추가해주지 않으면 원하는 모양으로 불러오지 못할 수도 있음. - 위 코드는 기본적으로 첫번째 시트를 불러옴. 따라서 첫 시트에 아무것도 없으면 .. 안 나옴.  - 원하는 시트를 불러오려면 sheet_name = 을 추가 해줌loan_df = pd.read_excel('data/loan.xlsx', sheet_name=1) - 인덱스랑 같은 개념이기 때문에 1을 부르면 2번째 시트를 불러 오는 것임.  --> 엑셀은 대체로 위에 몇 줄을 비워 놓는데, 판다스는 A1부터 읽음..--> 그래서 다 Nan이 되어 버림..

Data Science/Pandas 2024.06.13

[Seaborn] 스타일 설정하기, 폰트 설정하기, 그래프 크기 조절하기

# 코드잇 데이터 사이언스 강의 듣는 중- seaborn이랑 그냥 plot이랑 왔다갔다 하다보면 다소 헷갈린다.- 틀릴 수도 있는데 일단 우선 내가 해보면서 느낀 것은 다음과 같다. seabornmatplotlib 기반 pandas plot- sns.00plot(data =, x='', y='')- sns를 객체로 가져오고,- 플롯 종류를  메소드로 써주고 데이터 프레임을 파라미터로 받음. + catplot으로 여러 가지 열을 합쳐서 보고 싶은 경우에는 kind= 를 파라미터로 넣어서 어떤 그래프로 그릴 것인지 입력해줘야 함. ++ 다만 파라미터가 1개일 경우에는 같은 듯.. 사실 두 방법 다 될 때도 있어서.. 어쩌잔건지 머리아픔. 예, sns.kdeplot(df['registered'], bw=0.1..

[EDA] 데이터 합치기 .merge; inner join, left outer join, right outer join, full outer join

# 코드잇 데이터 사이언스 강의 듣는 중1. inner join2. left outer join3. right outer join4. full outer join     1. inner join  - 겹치는 부분만 합치겠다는 의미.- 아래 예시를 보면 겹치는 3 상품만 합쳐져서 결과 값이 나옴 --> .merge(A, B, on='')          - 이 경우에 inner join 값은 product이기 때문에 on에 넣어줌 pd.merge(price_df, quantity_df, on='Product') 2. left outer join - 왼쪽 값만 합치겠다는 것. 오른 쪽 데이터에 없더라도- 예시를 보면 왼쪽의 상품은 전부 포함되지만,오른쪽에 겹치지 않는 제품들은 NaN으로 표시됨.  -->..

Data Science/Pandas 2024.06.09

[EDA] 카테고리 분류, .groupby

# 코드잇 데이터 사이언스 강의 듣는 중- .groupby --> 카테고리 분류를 편하게 하는 기능  - DataFrameGroupBy type을 사용하면 분류하는 것이 굉장히 쉬워짐. + sql문이 이건가..?- 하여튼 변수에 groupby 메소드를 쓰면 알아서 보기 편하게 변수에 따른 통계치나 플랏을 볼 수 있게 만들어줌.  - 새로운 변수를 따로 만들어서 사용하는 것이 편리한 듯 --> type은 DataFrameGroupBynation_groups = df.groupby('brand_nation')type(nation_groups)#pandas.core.groupby.generic.DataFrameGroupBy - 그럼 이것저것 메소드 가능해짐 - .count() --> 각 변수 별로 카운트 해줌..

Data Science/Pandas 2024.06.09

[EDA] 카테고리 분류, .map()

# 코드잇 데이터 사이언스 강의 듣는 중- python dictionary를 사용하면 한 번에 바꾸고 싶은 값들을 바꿀 수 있음. - .map() --> series의 각 요소에 간단한 함수를 적용하여 변경하고 싶을 때 자주 사용 1) ()안에 함수를 넣어주거나, 2) 앞의 벡터 뒤에 조건식 값을 더해서 넣을 때  그 위치를 잡기 위함. + 진짜 mapping ; 그냥 뒤에 붙여 넣어주는 것으로 이해 import pandas as pdimport seaborn as snsdf = pd.read_csv('data/laptops.csv')df.head() --> 브랜드의 제조 국가를 넣고 싶음.        - 브랜드에 해당하는 제조국가를 파이썬 사전으로 만들어줌. brand_nation ={ 'Del..

Data Science/Pandas 2024.06.07

[EDA] 값 추가, 문자열 필터링 .str.contains(''), 값 분리, .str.split()

# 코드잇 데이터 사이언스 강의 듣는 중- .sum(axis='colums') - 전처리 단계에서 필요한 변수 생성할 때 유용함. 일일히 행렬 값을 전부 치지 않아도 됨. df.sum(axis='columns')#변수에 넣어주면 계산하기가 더 편해짐df['Total']= df.sum(axis='columns') --> then, 값이 마지막 열로 바로 추가됨.        - 직선 그래프는 y='' 만 넣어주면 됨. df.plot(y='Total') --> 명백하게 해가 지날 수록 tv 시청률이 줄어드는 것을 확인 가능         - 지상파/종편 비교 하고 싶으면, 각 값을 생성해주면 됨.df['Group1'] = df.loc[:,'KBS':'SBS'].sum(axis='columns')df['Gro..

Data Science/Pandas 2024.06.07

[EDA] 적용 예제

# 코드잇 데이터 사이언스 강의 듣는 중 - 생각보다 어떤 걸 적용해야 할지가 바로 떠오르지 않았고 적용하면서도 왜이래.. 하면서 생각보다 시간이 오래걸렸다.- 그래서 해설을 정리해 두려고 한다.  - 문제는 데이터에서 이 답들을 뽑아 내는 것이었다. - 정답은 맞췄지만, 시간이 너무 오래 걸렸고, 가장 효율적인 방법으로 찾아내진 못한 것 같다. 그래서 이번 포스팅을 적는다.  - 일단 데이터를 불러오고, 살펴보기import pandas as pdimport seaborn as snstitanic = pd.read_csv('data/titanic.csv')titanic.head()#데이터 타입 확인titanic.info() 1) 타이타닉의 승객은 30대와 40대가 가장 많다. --> 히스토그램- 나는 바..

Data Science/Pandas 2024.06.07
728x90
반응형