본문 바로가기

[데이터분석] 데이터프레임 : 랜덤으로 행 복제하는 방법 - sample 이전 글에서는 sample() 함수를 이용하여 원하는 개수 또는 원하는 비율만큼 랜덤으로 행을 추출하는 것에 대해서 알아보았는데요, 이번에는 원하는 비율만큼 랜덤으로 행을 복제해서 나타내는 방법에 대해서 살펴보도록 하겠습니다. - sample(frac= ) : 랜덤으로 행 복제하기 sample(frac= ) 함수는 데이터프레임에서 원하는 비율만큼 랜덤으로 행을 추출하는 함수로, 예를 들어 df라는 이름의 데이터프레임에서 25%만 랜덤으로 추출해서 보고 싶으면 다음과 같이 입력하면 됩니다. df.sample(frac=0.25) 즉, 50%는 df.sample(frac = 0.5), 75%는 df.sample(frac = 0.75) 라고 입력하면 되는데요, 그렇다면 frac의 값이 1을 넘어가게 되면 어떻게.. 더보기
[데이터분석] 데이터프레임 : 랜덤으로 행 출력하기 (원하는 비율) - sample 데이터프레임을 다양하게 변경할 때, 변경되었는지 확인하기 위해 head() 함수 또는 tail() 함수를 주로 사용합니다. 하지만 head() 함수와 tail() 함수는 상단 또는 하단에 있는 행만 보이기 때문에 중간에 데이터가 어떠한지 모를 수 있습니다. 따라서 데이터를 무작위로 추출하려면 sample() 함수를 사용하는 것이 적절한데요, 아래 코드를 보면서 설명드리도록 하겠습니다. 1. sample(n = 개수) : '개수'만큼 무작위로 행 추출하기 만약 df라는 데이터프레임이 있을 때, 10개의 행만 랜덤으로 추출해서 보고 싶다면, 다음과 같이 코드를 입력하면 됩니다. df.sample(n=10) 2. sample(frac = 비율) : '비율'만큼 무작위로 행 추출하기 반면, 개수를 지정하는 것 .. 더보기
[데이터분석] 데이터프레임 : 특정 문자열 또는 데이터가 있는 행 출력하기 - contains() 데이터프레임에서 특정 문자열이나 다른 데이터가 있는 행만 따로 출력되어서 보이도록 하려면 어떻게 해야 할까요? 바로, 이를 도와주는 함수가 contains() 이라는 함수인데요, contains() 함수를 이용해서 특정 텍스트 또는 텍스트열이 있는 행만 출력할 수 있답니다. 아래의 코드를 보면서 자세히 설명하도록 하겠습니다. - contains() : 특정 문자 또는 문자열이 포함된 데이터 찾기 먼저, 아래와 같은 데이터프레임이 있다고 가정해보겠습니다. # itempricecount 0ice water10001 1milk20005 2ice coffee30002 3ade40001 4latte50003 5ice tea60002 만약 이 데이터프레임의 'item' 칼럼에서 'ice'라는 문자열이 포함되어 있는.. 더보기
[데이터분석] 데이터프레임 중간에 생략된 부분 보이게 하는 방법 데이터프레임에 데이터가 많거나 칼럼이 많으면 데이터프레임을 출력할 때 전체가 다 출력되지 않고, 중간에 '...' 라고 일부분이 생략되어 있는 것을 보셨을 수 있습니다. 이처럼 데이터프레임의 중간 부분이 생략된 이유는, 바로 데이터프레임 기능을 제공하는 pandas 라이브러리의 기본값 설정이 생략되도록 되어있는 것인데요, pandas의 설정을 바꿔준다면 생략된 행 또는 칼럼을 볼 수 있습니다. 설정 기능은 두 가지로, 모든 행이 보여지도록 설정하는 기능과 모든 열이 보이도록 설정하는 기능이 있는데요, 아래와 같이 코드를 입력하면 됩니다. 1. 모든 행이 보이도록 import pandas as pd pd.set_option('display.max_rows',None) 2. 모든 열이 보이도록 import .. 더보기
[데이터분석] 데이터프레임 : 칼럼 이름이 있는 행을 열로 변환하는 방법 - melt() 데이터프레임을 이용하여 데이터를 분석하고 처리하다 보면, 칼럼 제목에 있는 값들을 하나의 열로 바꿔주고 싶을 수 있는데요, 아래 이미지처럼, 첫 번째 표에서 두 번째 표 형식으로 데이터를 변환해서 나타내고 싶을 수 있습니다. 위 표를 보면, 첫 번째 표에서 칼럼 이름에 해당되는 '2019', '2020', '2021' 이 오른쪽 표에서 'year' 라는 이름의 칼럼에 데이터로 추가되었고, 첫 번째 표에서 'item'과 해당 연도에 따른 값에 해당되는 영역이 오른쪽 표에서 'price' 라는 칼럼의 데이터로 변환이 되었습니다. 한편, melt() 라는 함수는 위와 같이 데이터프레임의 형태를 변환해주는 함수인데요, 위와 같은 결과를 나타내기 위해 사용해보도록 하겠습니다. 먼저, 첫 번째 표를 나타낸 데이터프.. 더보기
[데이터분석] 데이터 프레임 - 새로운 행 추가하기 - loc[ ] 데이터 프레임으로 데이터 분석을 할 때, 필요에 의해서 새로운 행을 추가해야 할 수 있는데요, 이때 iloc 또는 loc 함수를 사용하여 새로운 행을 추가할 수 있습니다. 먼저, 다음과 같은 데이터프레임이 있다고 가정해보겠습니다. tempitemcountpricerating 0hotcoffee130004.5 1icejuice540003.0 2iceade250004.0 3hotmilk130002.5 4hottea340003.0 5icewater210004.5 위 데이터프레임에서 새로운 행을 추가하고 싶다면, loc[ ] 함수를 사용하면 되는데요, df.loc['인덱스번호 또는 이름'] = [ 데이터 리스트 ] 와 같이 코드를 입력하면 됩니다. 따라서 만약 맨 마지막에 ['ice', 'coke', 3, 20.. 더보기
[데이터분석] 데이터프레임 : 특정 조건 만족하는 행 삭제하기 - drop() 이전 글에서는 특정 조건을 만족하는 행을 추출하고, 해당되는 인덱스를 반환하는 방법에 대해서 살펴보았는데요, 이번 글에서는 특정 조건을 만족하는 행을 삭제하는 방법에 대해서 살펴보도록 하겠습니다. 1. 특정 조건 만족하는 행의 인덱스 찾기 특정 조건을 만족하는 행을 삭제하기 위해선, 해당되는 행의 인덱스를 알아야 이를 이용해서 삭제할 수 있는데요, 먼저, 인덱스를 찾는 방법에 대해서 살펴보도록 하겠습니다. 아래와 같은 데이터 프레임이 있다고 가정할 때, tempitemcountpricerating 0hotcoffee130004.5 1icejuice540003.0 2iceade250004.0 3hotmilk130002.5 4hottea340003.0 5icewater210004.5 만약 'price' 칼럼.. 더보기
[데이터분석] 데이터프레임 : 특정 조건 만족하는 행 추출 & 해당 인덱스 반환 데이터 프레임으로 데이터 분석을 할 때, 특정 조건을 만족하는 행을 추출하거나, 조건을 만족하는 행의 인덱스 번호를 반환시킬 수 있는데요, 아래 코드를 보면서 설명하도록 하겠습니다. 1. 특정 조건 만족하는 행 추출하기 먼저, 아래와 같이 음료와 관련한 데이터프레임이 있다고 가정해보겠습니다. tempitemcountpricerating 0hotcoffee130004.5 1icejuice540003.0 2iceade250004.0 3hotmilk130002.5 4hottea340003.0 5icewater210004.5 만약 이 데이터 프레임에서 'price' 칼럼의 데이터가 4000 이상인 행만 추출해서 보고 싶다면 다음과 같이 코드를 입력하면 됩니다. df[df['price'] >= 4000] temp.. 더보기
[데이터분석] 데이터프레입 : 중복된 행 삭제 - drop_duplicates 이전 글에서는 데이터프레임에서 중복된 행이 있는지 확인하고, 중복된 행이 몇 개 있는지 구하는 방법에 대해서 살펴보았는데요, 이번 글에서는 중복된 행을 삭제하는 방법에 대해서 설명하도록 하겠습니다. 1. drop_duplicates() : 중복된 행 삭제하기 먼저, 다음과 같이 중복된 데이터가 있는 데이터프레임이 있다고 가정해보겠습니다. tempitemcountprice 0hotcoffee13000 1icejuice34000 2iceade25000 3hotcoffee13000 4hottea34000 5icewater21000 6icejuice34000 위 데이터 프레임을 보면, 3번째 행은 0번재 행과 중복, 6번째 행은 1번째 행과 중복됩니다. 이는 duplicated() 함수를 통해서 아래 코드처럼 .. 더보기
[데이터분석] 데이터프레임 : 중복된 행 찾기 & 개수 - duplicated(), sum() 이전 글에서는 데이터 프레임에서 결측치가 있는 행을 찾는 함수 isnull()과 칼럼마다 결측치의 개수를 구하는 함수 isnull().sum() 함수에 대해 알아보았는데요, 이번에는 중복된 행을 찾는 함수 duplicated()와 그 개수를 구하는 방법에 대해서 살펴보도록 하겠습니다. 1. duplicated() : 중복된 행 찾기 먼저, 다음과 같은 데이터프레임이 있다고 가정해보겠습니다. tempitemcountprice 0hotcoffee13000 1icejuice54000 2iceade25000 3hotcoffee13000 4hottea34000 5icewater21000 위 데이터프레임을 보면, 0번째 행과 3번째 행의 데이터가 겹치는 것을 볼 수 있는데요, 한 번 duplicated() 함수를 .. 더보기