DS가 되기 위한 여정 👩‍💻
728x90
반응형

Data Science/Pandas 34

[elice pandas] 데이터 변환 (map(), apply(), lambda 함수) , 데이터 요약/추출

* elice 강의안 - .map()을 python에서 매핑 해주는 것과 달리 pandas에서는 df의 특정 열 전체를 바꾸는데 사용 - apply()는 똑같이 함수 적용할 때 씀- 변환 할 때마다 함수를 지정해줘야 함..- 그럼 코드 더러워지니깐 lambda 씀- 위처럼 합쳐서 코드 짜면됨. - 와,, 함수 값을 그대로 df에 넣을 수 있는지는 몰랐음. - group by 주의할 것 [Boolean indexing] [loc]- loc를 사용할 때는 [인덱스 이름, 컬럼이름] 순서임. - 불리안 인덱싱 할 땐 "인덱스 이름" 위치에 넣어야 함. [iloc]연속적인 객체(데이터프레임의 인덱스) 범위를 지정해 가져오는 방법인 슬라이싱을 활용하면 범위를 지정하여 해당 범위에 해당하는 데이터들을 불러올 수..

Data Science/Pandas 2025.05.12

[elice pandas] ',' , '-' replace 간단하게 하기, 형변환

*elice 강의안 - object type을 int로 바꾸기 위한 강의 내용 중에서 코드가 진짜 간단해서 적어둠. - 매번 할 때마다 헷갈리는 건데 아래처럼 하면 될 듯. `info()`를 사용해 데이터의 타입을 확인해보면 모든 데이터가 수가 아닌 텍스트(Object) 타입으로 저장되어 있습니다. 이는 즉 데이터에 있는 3,359는 숫자 3359가 아닌 텍스트 "3,359"가 저장되어있는 상태입니다. 이 상태로는 숫자의 연산, 나아가 평균값과 같은 통계량을 측정할 수 없습니다. 따라서 우리는 이 텍스트(Object)들을 모두 **정수형(int)** 으로 바꾸어야 합니다. 정수형으로 바꾸기 위해선 텍스트에서 숫자만을 남기고 모두 제거해야 합니다. 이를 위해 숫자로 바꾸어야 하는 컬럼들에서 `str.re..

Data Science/Pandas 2025.05.12

[elice 머신러닝] dataframe 문제..

- 너무 헷갈려서.. 머신러닝 2 안 하고 전처리 판다스 부분 강의 다시 들어야 겠다 import numpy as npimport pandas as pdA = pd.DataFrame(np.ones((5, 5)) * 2)B = pd.DataFrame(np.ones((7, 7)) * 3)print("DataFrame A \n", A)print("DataFrame B \n", B)# Pandas 연산자를 활용해 행렬의 연산을 해보세요.# NaN 값이 발생한다면 그 자리에는 -1을 채우세요.# A + B (행렬의 덧셈)add = A.add(B,fill_value=-1)print(add,'\n')# A - B (행렬의 뺄셈)sub = A.sub(B, fill_value=-1)print(sub,'\n')# A *..

Data Science/Pandas 2025.05.06

[pandas] RFM분석

# 코드잇 데이터 사이언티스트 강의 듣는 중-   RFM - Recency: 고객이 얼마나 최근에 상품을 구매했는가? ; 기준 시점부터 가장 최근 구매일- Frequency: 고객이 얼마나 자주 상품을 구매했는가? ; 기준 기간동안 상품을 구매한 횟수- Monetary: 고객이 상품 구매에 얼마나 많은 돈을 썼는가? ; 기준 기간동안 구매한 상품의 총금액 --> RFM 분석은 위 세 항목을 토대로 고객의 가치를 판단해 고객을 분류하는 것을 의미함. --> 더 최근에, 더 자주, 돈을 많이 쓸수록 가치가 큰 고객임.  - 아주 기본적이지만 효과적으로 고객을 분류하는 방범임.--> 이렇게 분류된 고객 하나하나를 세그먼트 segment 라로 부름 --> 세그먼트에 따라서 고객 관리  적략을 수립하고 적용 가능..

Data Science/Pandas 2024.07.14

[pandas] 데이터 전처리 및 분석 연습2

# 코드잇 데이터 사이언티스트 강의 듣는 중 ... 에휴 안그래도 하면서 자동화를 더 하고 싶다고 생각했는데,이번 채점 노트에서는 파이썬으로 자동화를 굉장히 많이했음..........파이썬 강의를 더 들어야 할 듯.. 아 머리아픔.중간에 막혔던 부분들이 있어서 돌려가면서 할 것 같음. [코드잇 강의 가이드라인]1. 데이터 불러오기data 폴더 안에 있는 csv 파일을 DataFrame으로 불러옵시다.- 읍면동별, 상세 업종별 카드 이용 데이터(2017년): jeju_card_region_2017.csv- 읍면동별, 상세 업종별 카드 이용 데이터(2018년): jeju_card_region_2018.csv- 읍면동 단위 내국인 유동인구 데이터: jeju_population.csv2. 데이터 탐색 및 전처리..

Data Science/Pandas 2024.07.08

[pandas] 데이터 전처리 및 분석 연습1

# 코드잇 데이터 사이언티스트 강의 듣는 중 [코드잇 강의 가이드 라인]1. 데이터 불러오기data 폴더 안에 있는 jeju_card.csv 파일을 DataFrame으로 불러옵시다.2. 데이터 탐색 및 전처리데이터를 간단히 탐색하고 전처리해 봅시다.- 데이터 개수, 컬럼별 데이터 타입, 통계 정보, 결측값 존재 여부 등을 확인해 보세요.- 각 컬럼이 어떤 값들로 이루어져 있는지 확인해 보세요.- 2017년과 2018년의 데이터만 추출해 주세요.3. 데이터 분석연월별 카드 이용 추이를 비교해 보세요.- 2017년과 2018년, 두 연도 사이에 어떤 차이가 있나요? 왜 그런 차이가 나는지도 한번 확인해 보세요.연령대별로 카드 이용에 어떤 차이가 있는지 비교해 보세요.- 이용자수, 소비금액, 1회당 소비금액을..

Data Science/Pandas 2024.07.04

[데이터 전처리] 원하는 시간 간격으로 묶기 .resample()

# 코드잇 데이터 사이언티스트 강의 듣는 중- .resample() - 일자 별로 합계나 평균을 계산해서 보고 싶을 때 사용.- datetime이 인덱스로 설정되어 있어야 함.  - 일단, 인덱스로 설정하기  order_df = pd.read_csv('data/order.csv', parse_dates=['order_time', 'shipping_time'])order_df = order_df.dropna()#인덱스 설정order_df = order_df.set_index('order_time')order_df -->  order_ time이 인덱스가 됨.        - .resample()에 인자로 기준값을 넣어주면 됨. - 원하는 시간 간격 기준을 넣으면 됨 --> 'D' ; 하루, 'M' ; 월,..

Data Science/Pandas 2024.06.26

[데이터 전처리] 피벗 테이블 .pivot_table()

# 코드잇 데이터 사이언티스트 강의 듣는 중- .pivot_table() - groupby랑 유사하게 같은 그룹끼리 묶어서 값 비교 가능  - 피봇은 좀 더 깔끔하게 생긴 표 형태로 데이터를 요약 가능,- but, 인덱스나 칼럼에 들어가는 값들이 너무 많은 경우엔 그룹바이보다 가독성이 떨어짐. - 피봇보다 그룹바이의 계산 속도가 더 빠르기 때문에 데이터가 엄청 클 경우에는 그룹바이가 더 나음.--> 둘 중에 상황에 따라 쓰면 될 듯. - 넷플릭스 컨텐츠의 연도와 장르에 따른 점수의 평균을 보고자 할 때,- groupby는 행에 연도와 장르를 넣음. netflix_df.groupby(['year', 'genre'])['score'].mean()#값year genre 2019 Comedy..

Data Science/Pandas 2024.06.26

[데이터 전처리] 그룹 별로 분석하기 groupby(), category 타입, 멀티 인덱싱

# 코드잇 데이터 사이언티스트 강의 듣는 중  - .groupby() - 같은 그룹끼리 묶어서 값 비교 가능  - 넷플릭스에서 장르 별로 값을 비교 하고 싶을때netflix_df = pd.read_csv('data/netflix.csv')netflix_df --> 이런 데이터임       - 일단 결측치랑 간단한 통계 값 확인 #일단 결측치부터 확인 netflix_df.info()# 간단한 통계 값도 확인 netflix_df.describe() - 장르별로 구분되도록 나누기  --> 뒤에 계산식을 넣지 않으면 groupby가 적용되었다고만 나타남. netflix_df.groupby('genre')#값 - 장르별 값 확인 netflix_df.groupby('genre').count() #결측 값 제외 --..

Data Science/Pandas 2024.06.26
728x90
반응형