Data_Analysis (294) 썸네일형 리스트형 판다스 - 미국농무부 영양소 정보 (json 데이터 전처리) json 라이브러리를 이용해 읽어오기 이 db의 길이는 6636이다. 단, json데이터의 특성상 그냥 6636개의 데이터가 있다고 볼 수 없다. 그 이유는 db의 첫번째 값은 위와 같기 때문이다. Key Value id 단일값 description 문자열 값(들) tags (빈) 리스트 manufacturer 문자열 값(들) group 문자열 값(들) portions 리스트 안의 딕셔너리 딕셔너리의 키 = amount, unit, grams nutrients 리스트 안의 딕셔너리 딕셔너리의 키 = value, units, description, group 위 표의 내용대로 db의 key들은 총 7개이다. 그러나 여기서 눈여겨봐야할 키는 바로 nutrients이다. nutrients 하나로도 데이터프레임.. 판다스 - groupby : 멀티인덱스, idxmax 활용 데이터 만들기 위와 같은 데이터프레임이 있다. [목표 : Alpha, Key 멀티인덱스로 그룹화하여 Val 컬럼 기준 제일 높은 값의 인덱스를 이용해, 그 인덱스의 행만 추출] 우선 idxmax의 개념은 값이 제일 큰 인덱스를 가져온다는 것이다. Val 컬럼 기준으로 보면 120이 제일 큰 값이기에 그 인덱스, 11을 반환한다. 이제 기존 df를 Alpha와 Key컬럼으로 그룹핑 해보자 이제 그룹별, Val컬럼의 idxmax를 구해보자 해석을 해보자면 A와 ㄱ의 그룹의 Val컬럼에서 제일 큰 값을 가지는 인덱스는 1 B와 ㄹ의 그룹의 Val컬럼에서 제일 큰 값을 가지는 인덱스는 7 이렇게 볼 수 있다. 위 결과를 for loop를 통해 값만 빼오면 각 그룹별 Val컬럼의 idxmax 값이 나온다. 이제 .. 판다스 - 콤마(,) 로 구분된 컬럼에서 원하는 데이터 추출하기 데이터 출처 https://www.kaggle.com/shivamb/netflix-shows#netflix_titles_nov_2019.csv Netflix Movies and TV Shows Movies and TV Shows listings on Netflix www.kaggle.com 데이터 살펴보기 위 데이터프레임에서 0번째 행의 country를 보면 미국, 인도, 한국, 중국이 같이 적혀 있다. 따라서 이렇게 South Korea 랑 같냐는 코드는 당연히 False가 나온다. 오로지 South Korea만 적혀있는 행은 총 136개다. [목표 : 한국이 입력되어있는 모든 행의 개수 찾기] 우선 , 로 구분되어 있기 때문에 split을 이용해 각 단어를 잘라 리스트로 만든다. * 주의 : ,와 공.. 판다스 - groupby : 인덱스를 함수로 그룹핑하기 https://steadiness-193.tistory.com/75 판다스 - groupby : 함수로 그룹핑하기 사전이나 시리즈로 그룹핑하는 것보다 함수로 그룹핑하는 것이 보다 더 일반적이다. 그룹 색인으로 넘긴 함수는 색인값 하나마다 한 번씩 호출되며 반환값은 그 그룹의 이름으로 사용된다. 데�� steadiness-193.tistory.com 위 포스팅과 내용의 맥은 같다. 인덱스를 함수로 그룹핑 그룹 색인으로 넘긴 함수는 색인값 하나마다 한 번씩 호출되며 반환값은 그 그룹의 이름으로 사용된다. 데이터 불러오기 물론 이렇게 인덱스를 설정할리가 거의 없겠으나 설명의 목적으로 나이를 인덱스로 설정했다. 심지어 인덱스에 NaN도 있다. [목표 : 나이대 별로 생존율의 평균 파악] 함수 정의 age의 값이.. 판다스 - groupby : 인덱스로 그룹화하기 (멀티인덱스, level) https://steadiness-193.tistory.com/76 판다스 - groupby : 색인 단계로 그룹핑하기(계층적 색인) 계층적 색인에서는 축 색인의 단계 중 하나를 이용해 집계할 수 있다. 데이터 만들기 컬럼이 멀티인덱스이므로 컬럼으로 그룹핑할땐 level을 명시해줘야 한다. city를 기준으로 그룹핑 tenor를 기준 steadiness-193.tistory.com 위 포스팅의 조금 더 살을 붙이는 내용이다. 데이터 불러오기 우선 Pclass와 성별 컬럼으로 인덱스를 멀티인덱스로 바꿔보자 참고로 Pclass와 성별 컬럼의 고유값들이다. 인덱스 변경 멀티인덱스로 잘 바뀌었다. 안쪽으로 올수록 레벨이 높아진다. Pclass의 레벨은 0, 성별의 레벨은 1이다. 1. Pclass 인덱스로만 그.. 판다스 - 누락데이터 처리 : interpolate interpolate 메서드는 누락값 양쪽에 있는 값을 이용해 중간값을 구한 다음 누락값을 그 중간값으로 처리 데이터프레임이 일정한 간격을 유지하고 있는 것처럼 수정 가능 데이터 불러오기 에볼라 바이러스의 데이터 일부를 변경하여 가져왔다. 중간에 누락값이 있기 때문에 이를 시각화하면 위처럼 중간에 값이 끊겨있음을 확인할 수 있다. 이때 사용하는 것이 interplolate다. Guinea열의 12월 27일 값을 보면 원래는 누락값이었지만 2769와 2730의 합을 해서 2로 나눈 값인 2749.5가 나왔다. 이제 다시 eb_filled로 시각화를 해보면 잘 연결된 것처럼 수정할 수 있게 됐다. 판다스 - 원핫인코딩 : get_dummies 범주형 데이터는 연산이 어렵기 때문에 숫자형으로 처리 가능하게 바꿔주는 것 범주형 데이터의 각 범주(category)를 컬럼 레벨로 변경 해당 범주에 해당하면 1로, 아니면 0으로 채우는 인코딩 기법 pd.get_dummies(데이터프레임, columns=[컬럼명, ...,]) 데이터 불러오기 위 데이터프레임에서 Pclass와 성별 컬럼을 원핫인코딩을 해보자 1. Pclass 우선 Pclass에는 1, 2, 3의 값만 있다. 즉 3개의 컬럼이 추가될 것이고, 해당 값이 있는 행에는 1을 넣어준다. pd.get_dummies를 이용하니 기존의 Pclass 컬럼은 사라졌다. 0번행은 Pclass가 3이었으니 Pclass_3 컬럼에만 1이 있고 Pclass_2, Pclass_1 컬럼에는 0만 있다. drop_.. 판다스 - 나이를 나이대로 범주화(카테고리화)하기 https://steadiness-193.tistory.com/96 판다스 - 누락데이터를 그룹별로 대체하여 컬럼 만들기 (insert, groupby, transform, fillna) 데이터 불러오기 타이타닉의 train 데이터셋을 받아왔다. https://steadiness-193.tistory.com/14 판다스 - 누락 데이터 확인(isnull(), count_nonzero()) 타이타닉 데이터 불러오기 deck 컬럼의 경우 전체 891개.. steadiness-193.tistory.com 위 포스팅에서 나이 컬럼의 누락데이터를 Survived와 성별로 그룹화한 평균값으로 대체했다. 위 데이터를 불러와서 범주화를 진행해보자 전체 데이터 이제 이 train 데이터프레임에서 Age_filled를 이.. 이전 1 ··· 22 23 24 25 26 27 28 ··· 37 다음