본문 바로가기

전체 글307

pandas 중복 데이터 처리하기 합쳐서 처리하기 데이터를 다루다보면 열의 데이터가 반복될때가 있음. 이런 반복되는 데이터는 따로 관리하는 것이 좋은데, 왜 그런걸까? 따로 관리하려면 어떻게 해야할까? 1. 빌보드 차트 데이터를 불러와서 year, artist, track, time, date.entered(반복될수도있는 열) 을 pivot 처리함 2. 그래서 노래 제목을 살펴보면,,,, 중복 데이터가 꽤나 많음. > 그치 노래차트니까 예를 들어 가수는 고유한 값이기 때문에 따로 관리하는 것이 데이터 일관성을 유지하는데 도움됨 3. 그래서 중복 데이터를 가지고 있는 열을 묶어서 새로운 데이터프레임에 저장하고 4. drop_duplicates 메서드로 중복 데이터를 제거 ( 와 어마어마하게 제거가 되었구만) 5. 그리고 id 라는 새로운 열도 추가해봄. .. 2023. 6. 29.
pandas 여러개 분리된 열을 깔끔하게 데이터 정리 하는 방법 1. 날짜 열과 월별 최고 최저 온도데이터가 저장되어 있음. 열 값들이 너무 길다보니 보기 불편,,,, 날짜 열을 행 데이터로 피벗하자 ** pivot_table 이라는 메서드도 있구만. ▶ 행과 열의 위치를 바꿔 다시 정리해줌. index 인자에는 위치를 그대로 유지할 열 이름을 지정하고 columns 인자에는 피벗할 열 이름 지정, values 인자에는 새로운 열의 데이터가 될 열의 이름 지정 피벗하느라 묶여진 인덱스를 다시 잘 정리하기, reset_index 2023. 6. 29.
pandas 열 이름 관리 - 여러의미를 가지고 있는 하나의 열 - 가끔 데이터 열에는 여러가지 의미를 가지고 있을 수 있음 (나는 안그러고싶지만 여러상황들이 그렇게 만들수 있지 암요..........................) 이럴때 데이터 깔끔하게 만들기..🌠 1. 일단 불러온 데이터의 열 이름 확인..! - Cases_Guinea 처럼 질병_나라이름 이렇게 합쳐져 있기도 함. 2. 그리고 Date랑 Day를 고정시키고 나머지는 다 열 이름이 합쳐져 있으니까 다 피벗해버리자 피벗하는 법 모르겠으면 여기 https://dev-adela.tistory.com/114 3. 그리고 split 함수를 써서 _(밑줄)을 기준으로 글자를 분리해버리기 (자르기) ▼ 좀 더 자세히 적어보자면 데이터프레임.(점연산자)열이름.문자열.자르기('이거기준') 하나의 열을 통째로 추출해.. 2023. 6. 29.
pandas 깔끔한 데이터 만들기 - 열과 피벗 - 데이터프레임의 열은 파이썬의 변수와 비슷한 역할을 함 - 데이터프레임의 열 자체가 어떤 값들을 가지고 있음. - 근데 표로 되어 있다보니 열이 옆으로 길게 늘어선 형태가 됨 이것이 바로 넓은 데이터 ● melt 메서드 지정한 열의 데이터를 모두 행으로 정리해줌 ▷ melt (id_vars, value_vars, var_name, value_name) id_vars 위치를 그대로 유지할 열의 이름 지정 value_vars 행으로 위치를 변경할 열의 이름을 지정 var_name value_vars로 위치를 변경한 열의 이름을 지정 value_name var_name으로 위치를 변경한 열의 데이터를 저장한 열의 이름을 지정 ▼ melt 메서드를 사용해보기 위해 데이터 하나를 불러와보기 맨 위에 > 만약 소.. 2023. 6. 28.
python, 난수와 시계열 관련 함수 몇가지 - 정규 분포에 따른 난수 생성 numpy.random.randn() - 균등분포에 따른 난수 생성 numpy.random.rand() - 이항분포에 따른 난수 생성 numpy.random.binomial( 시도횟수, 성공확률, size=(이렇게 몇번 반복할건지)) - 리스트 무작위로 선택 numpy.random.choice(범위, 몇개, replace = False( 중복유무), p = 나오는 확률) - 시계열 데이터 다루기 datetime.datetime(년,월,일,시,분,밀리초) day=일, month = 월 이렇게 별도로 지정해서도 가능 - 시간의 길이를 나타내는 datetime.timedelta(일, 초) >> 2개를 합쳐서 사용할 수 있음 (더하기 뺄셈같은) -문자열이 '년-월-일 시-분-초'.. 2023. 6. 28.
230503 번호 출력과 통계_파이썬 2023. 6. 27.
pandas 누락값 처리하기, 변경하기, 삭제하기 1. 누락값 변경 - fillna 메서드에 0을 대입하면 누락값, NaN을 0으로 변경한다 (100넣으면 100으로 a를 넣으면 a로) - fillna 메서드의 method 인자값을 ffill로 지정하면 위 행의 열을 값으로 사용해서 누락값을 처리함. 밑에 데이터에서 0과 1행은 처음부터 NaN이었기 때문에 그대로 남아있음. - method 인자값을 bfill 로 지정하면 누락값이 아래 행에 있는 값으로 채워짐. 이거는 마지막 값이 누락이면 처리하지 못한다는 단점이 있음. - interpolate 는 누락값 양쪽에 있는 값을 이용해서 중간값을 구해서 누락값을 처리함 > 일정한 가격을 유지하고 있는 것 처럼 누락값을 처리할 수 있음. - 누락값을 삭제하려면 dropna 메서드를 사용할 수 있음. 하지만 무.. 2023. 6. 27.
pandas 누락값의 개수 구하기 1. 누락값의 개수 구해보기 ① - count 메서드를 사용하면 각 열마다 누락값이 아닌 값이 갯수가 몇 개있는지 알려줌 - 이를 활용해 shape[0] 메서드를 통해 전체 행의 데이터 갯수를 구하기 ==> shape는 각 데이터프레임의 행과 열의 크기에 대한 정보를 알려주기 때문에 여기서는 (122, 18) 이라는 값이 나오는데 행의 갯수만 알면 되기때문에 인덱스 [0]을 써서 122만 불러옴 ② count_nonzero(배열에서 0이 아닌 값의 갯수 세는 메서드) isnull 메서드를 조합해 누락값 구하기 ③ value_counts 메서드를 사용해 지정한 열의 빈도를 구할 수 있음. value_counts 메서드를 사용해 Cases_Guinea 열의 누락값 개수 구하기 dropna 인자는 NA 값을 .. 2023. 6. 27.
pandas 누락값 NaN, NAN, nan 누락값 - NaN, NAN, nan 와 같은 방법으로 표기 가능. (누락값은 넘파이 라이브러리 필요) - 0, ' ' 이랑은 다른 개념. 말 그대로 '데이터가 없다 - 누락값을 확인하려면 .isnull 메서드를 사용해야함. - 누락값이 아닌 경우도 검사할 수 있음. .notnull 메서드로 누락값이 아닌 경우를 알려줌 --- 하나의 객체만 넣을 수도 있지만 리스트로 다양한 값들을 넣어주면 boolean으로 반환해준다 1. 일단 데이터 2개를 준비해보겠음 1번째 DF은 visited / 2번째 DF는 survey 중간중간 NaN 값들이 보이긴하지만 많지는 않음. 그렇다고 해서 함부로 연결하면 안됨. 그래도 한번 합쳐봄..^^ 합치니 많은 NaN값들이 생긴거를 눈에 띄게 볼 수 .. 2023. 6. 27.