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

분류 전체보기 141

[데이터 전처리] 날짜와 시간 데이터 인덱싱하기/ 더하기 빼기, 불린 인덱싱

# 코드잇 데이터 사이언티스트 강의 듣는 중 - 불린 인덱싱을 하려면 datetime이 인덱스가 되어 있어야 함. - .set_index()#datetime으로 불러오기order_df = pd.read_csv('data/order.csv', parse_dates =['order_time', 'shipping_time'])#미리 불러왔으면, 데이터타입만 변경delivery_df['order_time'] = pd.to_datetime(delivery_df['order_time']#인덱스로 지정order_df.set_index('order_time')  -->보면 시간이 순서대로 정렬되어 있지 않음.        - 정렬시켜줌order_df = order_df.set_index('order_time').sor..

Data Science/Pandas 2024.06.24

[데이터 전처리] 날짜와 시간 데이터 타입 설정하기, datetime

# 코드잇 데이터 사이언티스트 강의 듣는 중 --> 데이터 프레임에 날짜와 시간이 들어가 있을 때, 데이터 타입을 확인해 보면 대체로 object임.  --> 그런데 이러면 원하는 대로 시간과 날짜를 인덱싱하기가 불편함.   order_df.dtypes     - pd.to_datetime()- 판다스에 메소드로 지정하고 해당하는 벡터를 ()안에 넣으면 됨. pd.to_datetime(order_df['order_time']) --> dtypes가 datetime으로 바뀜.       - but, 1개 값만 불러오면 타입이 달라짐. pd.to_datetime(order_df['order_time'])[0] --> timestamp가 나타남.  - datetime, timestamp 모두 어떤 시점에 날짜..

Data Science/Pandas 2024.06.24

[데이터 전처리] 데이터 구간화 cut() or apply(), 람다함수와 apply()

# 코드잇 데이터 사이언티스트 강의 듣는 중  - 연속적 숫자 데이터를 여러 구간으로 분류      - 우선 구획화하고 싶은 값의 최소/최대값을 확인patient_df['age'].describe() --> 최소 20, 최대 69--> 즉 20대부터 총 60대까지로 구성     - pd.cut()- pd의 메소드임. 파라미터로 여러가지 조건들을 계속 넣어줄 수 있음. - bins = --> 구간 설정 시 사용pd.cut(patient_df['age'], bins=[20, 30, 40, 50, 60, 70]) --> 옆에처럼 나눠주고 싶은 구간을 지정(연령대)해도 되고,그냥 숫자를 넣으면 (예, 3) 그 수만큼 알아서 나눠주기도 함.      patient_df['age_group'] = pd.cut(pa..

Data Science/Pandas 2024.06.21

[데이터 전처리] 새로운 값 계산하기, 정규화, 표준화, 과학적 표기법

# 코드잇 데이터 사이언티스트 강의 듣는 중 - 이건 그냥 벡터끼리 계산해서 새로운 변수 만들 수 있음- 예제에서 비만율과의 연관성을 보기 위해서 허리 엉덩이 둘레 비율 변수를 새로 만든 것처럼 가능. + 심리학 연구에서는 거의 측정도구가 거의 검사survey였기 때문에,벡터끼리 계산해서 각 척도 별 총점 혹은, 하위 척도의 총점을 구했고, 당연히 그걸 활용해서 통계를 돌렸음.  patient_df['waist']/patient_df['hip'] --> 수를 확인하기가 어려움.       - 반올림- round(값, 자리 수) #둘째 자리까지 반올림round(patient_df['waist']/patient_df['hip'], 2) --> 소수점 둘째 자리까지 반올림 된 것.        - 걍 벡터 만..

Data Science/Pandas 2024.06.20

[오픽 6-6 시험 후기] 한 문제 시간 조절 실패ㅜ 하나 스킵 첫 시험 IH..ㅜㅠ

#오픽 6-6 시험 후기 이번이 태어나서 처음으로 본 오픽 시험이었다. 환승지에서 버스가 안 와서 진짜...30분까지 입실인데 와.....30분에 내려서 못 들어가면 어떻게 하지.. 하면서 엄청 뛰었다 ㅠㅠ 다행히, 2분 정도만 지각했고,나를 겁먹게 한 일주일 전 카톡 공지 ("지각 시 입실 불가")처럼 감독자님이 까다롭게 보시지 않았다. + 이것은 시험 센터와 감독자님의 성향에 따라 달라질 수 있으니.. 꼭 지각하지 마세요. ㅎ 또, 40분까지 화장실 갔다오라셔서 좀 진정 될 수 있었다. 하지만,, 여전히 뛰는 심장으로 시험을 시작했다.  나는 전주상공회의소에서 시험을 봤고,함께 시험 본 인원이 총 4-5명으로 작은 편이었고 강의실은 꽤 컸었다. 오티는 한 15분 정도로 20분보다는 짧았고, 40분 타..

Blah Blah 2024.06.19

[데이터 전처리] 대소문자 처리하기, 문자열 분리하기, 문자 제거하기

# 코드잇 데이터 사이언티스트 강의 듣는 중  - .unique() 로 값 상태 확인. airbnb_df['state'].unique() --> 보면 대소문자가 중구난방으로 섞여있는데, 컴퓨터는 다 다른 값으로 인식.   1) 소문자로 바꾸기 --> .str.lower()airbnb_df['state'].str.lower() --> 전부 소문자        2) 대문자로 바꾸기 --> .str.upper()airbnb_df['state'].str.upper() --> 대문자        3) 첫 알파벳만 대문자로 바꾸기 --> .str.capitalize()airbnb_df['state'].str.capitalize()           - .str.split() - 한 값에 있는 문자열을 ('') 안의..

Data Science/Pandas 2024.06.17

[데이터 전처리] 이상치outlier 찾기, 처리하기

# 코드잇 데이터 사이언티스트 강의 듣는 중   --> 데이터에서 동떨어진 값을 의미하는 데 주로 박스플롯 기준. Q1- 1.5 IQR ~ Q3 + 1.5 IQR 범위를 벗어나는 경우를 이상치라고 함.        1) .quantile() --> 사분위수 구하기 - 사분위수를 구해서 그것을 변수로 설정 q1 = airbnb_df['price'].quantile(0.25)q3 = airbnb_df['price'].quantile(0.75)iqr= q3 - q1lower_limit = q1 - 1.5 * iqrupper_limit = q3 + 1.5 * iqr 2) 조건식으로 사용함. #각각airbnb_df[airbnb_df['price'] upper_limit]#걍 합쳐서 한 번에 보이기airbnb_d..

Data Science/Pandas 2024.06.17

[데이터 전처리] 중복값 duplicate value 찾기, 처리하기

# 코드잇 데이터 사이언티스트 강의 듣는 중  1) .duplicated() airbnb_df.duplicated() #true 중복 값.    --> 결측 값 여부에 따라서 true or false // 있으면 True    - 이거로는 총 개수 확인이 어렵기 때문에 .sum()을 해줌airbnb_df.duplicated().sum()#2#중복을 인덱싱 한 값에서도 sum 확인 가능. 대신 인덱싱은 풀고 조건만 넣어야 함. #first와 last의 값은 같지만, False의 값은 예외도 추가되서 더 많아짐. airbnb_df.duplicated(subset='id').sum()#6 --> 이건 전체 값이 중복되는 지 여부가 디폴트임. - 인덱싱하면airbnb_df[airbnb_df.duplicated(..

Data Science/Pandas 2024.06.17

[데이터 전처리] 결측값 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
728x90
반응형