Data_Analysis (294) 썸네일형 리스트형 판다스 - 데이터프레임의 인덱스 정렬 : sort_index 인덱스의 순서가 마음에 들지 않는다면 혹은 컬럼의 순서가 마음에 들지 않는다면 sort_index 메서드를 이용한다. sort_index() - 기본축 axis=0 (행 방향↓) - 기본 정렬 : 오름차순 기본적으로 축은 axis=0 기준이다. one이 위로 올라왔다. 컬럼 정렬 컬럼을 정렬하려면 axis=1을 넣어준다. 알파벳 순으로 컬럼이 정렬되었다. 내림차순 정렬은 ascending=False를 넣어주면 된다. 판다스 - 데이터프레임과 시리즈의 연산 데이터프레임과 시리즈의 연산 데이터프레임과 시리즈의 연산은 브로드캐스팅이며 축은 기본적으로 axis=1로 동작한다. 시리즈의 색인을 데이터프레임의 컬럼에 맞추고 아래 로우로 전파한다. 예제 이런 데이터프레임과 시리즈가 있다. 운이 좋게도 데이터프레임의 컬럼과 시리즈의 인덱스가 같다. axis=1이므로 행 기준 열방향 동작이다. 즉, 한 행씩 가져와서 시리즈끼리 연산한다고 생각하면 된다. 시리즈끼리는 인덱스가 같아야지만 연산이 가능하다. 이렇게 한 행씩 브로드캐스팅을 통해 연산을 하는 것이다. 위 그림은 동작 원리를 나타냈고 실제 동작은 다음과 같다. 시리즈의 색인을 데이터프레임의 컬럼에 맞추고 아래 로우로 전파한다. 색인과 컬럼이 모두 동일하지 않다면? 예제 d와 f는 짝이 없다. 예상했던대로 짝이 없는.. 판다스 - 데이터프레임 팁 1. 라벨이름으로 슬라이싱하면 시작점과 끝점을 포함한다. 일반 파이썬의 슬라이싱과 달리 끝점을 포함하여 나왔다. 2. 슬라이싱으로 로우 선택 1번과 다르게 숫자로 슬라이싱을 해, Utah 행은 나오지 않았다. 3. 데이터프레임 간의 산술연산 데이터프레임은 공통되는 컬럼과 인덱스끼리 연산이 가능하다. 따라서 df1과 df2를 더하게 되면 df2에만 있던 3번행와 e컬럼은 NaN이 된다. 이를 방지하기 위한 fill_value가 있다. NaN을 0으로 바꾸는 것이 아니라, NaN이 되기 전에 0으로 바꾼후 0과 연산을 하는 것이다. 뺄셈 df1에서 df2를 뺀 것이다. 이를 반대로 하려면 rsub을 이용하면 된다. df2에서 df1을 뺀 것이다. 판다스 - 카테고리 자료형 (category) [범주형 데이터] 카테고리 자료형의 장점 - 용량과 속도 측면에서 굉장히 효율적이다. - groupby 같은 일부 pandas 함수는 범주형 데이터를 사용할 때 더 나은 성능을 보인다. - 메모리도 훨씬 적게 사용한다. 사용하는 경우 - 주로 동일한 '문자열'이 반복되어 데이터를 구성하는 경우 memory usage 확인 천만 개의 값을 가지는 시리즈를 만들었다. 위 시리즈를 카테고리형으로 바꿔주자 메모리 사용량 확인 약 8배나 차이가 난다. 데이터프레임으로도 살펴보자 데이터 불러오기 seaborn의 tips 데이터를 불러와 info를 확인해보자. 총 메모리 사용량은 8.8 KB이며 성별 컬럼은 문자열로 구성되어있고 Female과 Male 두가지 뿐이다. 이럴때 카테고리 자료형으로 변환하는 것이다. 범주.. 판다스 - 시계열데이터4 : date_range(normalize), timedelta 데이터 생성하기 dup_ts 라는 중복이 있는 시계열 인덱스의 시리즈를 만들었다. 중복된 시계열 그룹화하기 새 데이터 생성하기 date_range는 기본적으로 시작 시간이나 종료 시간의 타임스탬프를 보존한다. 자정에 맞춰 타임스탬프 정규화 자정 기준이라 일별로 range가 생긴 것처럼 정규화되었다. timedelta를 인덱스 설정하기 데이터 불러오기 기준 날짜를 설정한뒤 Timestamp로 자료형을 변환한다. Timestamp 간의 차이는 timedelta64의 자료형으로 생성되며 이를 새 컬럼으로 추가했다. 이를 다시 한번 인덱스로 설정하면 활용할 수 있다. 특정 날짜로 부터 경과한 날짜를 슬라이싱하여 살펴볼 수 있는 것이다. 판다스 - 시계열 데이터3 (날짜 분리) 날짜 데이터 분리 https://steadiness-193.tistory.com/22 판다스 - 열 분리하기 데이터 불러오기 연월일 컬럼을 연 / 월 / 일 세개의 컬럼으로 나눠서 보고 싶다면 방법1 : str.split() 1. 연월일 컬럼의 자료형을 object로 변환한다. 2. 판다스의 자료형과 파이썬의 문자열을 이용해 steadiness-193.tistory.com 이미 열 분리하기 포스팅에서 설명했지만 이는 문자열 기준이며 날짜 데이터를 최대로 활용하기 어렵다. datetime64형을 간단하게 연/월/일별로 분리해보자 데이터 불러오기 바로 이전 포스팅의 주가데이터를 그대로 이용한다. Date 컬럼의 자료형 변환하기 dt 속성 이용하기 dt 속성을 이용하면 연,월,일을 개별적으로 추출할 수 있다... 판다스 - 시계열 데이터2 : date_range, period_range 1. 시계열 데이터 만들기 (timestamp 배열) 판다스의 date_range() 함수를 이용하면 여러 날짜(Timestamp)가 들어있는 배열 형태의 시계열 데이터를 만들 수 있다. pd.date_range(시작, 끝, 개수, 간격) 끝 설정은 None으로 두었고 6개의 3개월 간격의 기간 데이터를 만들어 낼 수 있다. 2. 시계열 데이터 만들기 (period 배열) pd.period_range(시작, 끝, 개수, 간격) date_range와 거의 비슷하다. 차이는 2019-01은 2019년 1월의 전체 기간을 나타내는 것이다. end 조건 없이 개수와 간격으로도 생성할 수 있다. 3시간 길이의 Period 배열이 생성되었다. 판다스 - 시계열 데이터 : Timestamp, Period, strptime, strftime 판다스의 시계열 데이터는 주로 1. 시간 내에서 특정 순간의 타임스탬프(Timestamp) 2. 2007년 1월 전체 기간이나, 2010년 전체 같은 기간(Period) 위 두개를 많이 이용 한다. 물론 시간 간격과 실험 혹은 경과 시간이 있지만 위에 설명한 1,2번을 위주로 살펴보자 데이터 불러오기 날짜 컬럼의 자료형이 문자열이다. 1. 문자열을 Timestamp로 변환 방법1. 불러올때 날짜로 파싱한다. parse_dates를 이용해 Date 컬럼이 있는 순서를 주거나 Date 컬럼명을 리스트안에 넣어서 주면 바로 날짜 데이터로 바뀐다. 방법2. pd.to_datetime 판다스의 to_datetime 메서드를 이용해 새로운 컬럼을 만들며 그 컬럼의 자료형을 datetime64로 바꾼다. 2. 시계열.. 이전 1 ··· 27 28 29 30 31 32 33 ··· 37 다음