본문 바로가기
300x250

전체 글94

[Pandas] 판다스 인덱스 초기화 재정렬 판다스에서 인덱스는 RDBMS의 PK(Primary Key)와 유사하다. 데이터프레임과 시리즈의 레코드를 고유하게 식별할 수 있는 객체가 Index 객체이다. 데이터프레임을 생성할 때, 만일 인덱스를 특정 값으로 지정해주고 싶다면? pd.Dataframe(데이터, index=['a','b','c']) 와 같은 형태로 원하는 특정 값을 지정해줄 수도 있다. 이런 Index만 추출하기 위해서는 DataFrame.index 혹은 Series.index 속성을 이용해서 그 결과를 넘파이 1차원 배열(ndarray)로 확인할 수 있다. index객체의 values 속성을 이용해서 모든 인덱스를확인해볼 수 있다.(너무 길어서 조금 잘랐다) type과 shape로 1차원 배열임을 확인할 수 있다. 단일 값이나 슬라이.. 2022. 8. 16.
[Pandas] Column 열 생성 및 삭제 판다스 열 Column 추가 생성 []를 이용해서 데이터프레임의 특정 열 선택뿐만 아니라, 생성과 삭제도 할 수 있다. 캐글 타이타닉 데이터프레임을 불러와서 새로운 칼럼 Age_new를 추가하고 일괄적으로 0 값을 할당해보자. 데이터프레임명['칼럼명']=할당할 값 할당할 값에 0과 같은 상수를 입력하면 해당 시리즈의 모든 데이터에 일괄적으로 0이 적용된다. 이렇게 만들어진 칼럼은 새로운 값을 또 할당 및 업데이트할 수도 있고, 다른 칼럼의 값을 이용하거나 여러 칼럼의 값을 계산하는 데 이용할 수도 있다. 판다스 특정 행 열 제거 삭제 판다스에서 데이터 삭제는 drop()을 이용할 수 있다. 이용할 수 있는 인자들의 값을 보자. DataFrame.drop(labels=None, axis=0, index=N.. 2022. 8. 15.
[Pandas] 넘파이 리스트 딕셔너리 판다스 변환 판다스 데이터프레임은 리스트, 딕셔너리, 넘파이 등 다양한 데이터에서 만들어질 수도 있고, 그 반대로 변환하는 것도 가능하다. 특히 사이킷런에서는 데이터프레임을 인자로 입력받을 수는 있지만 넘파이의 ndarray를 입력 인자로 사용하는 경우가 많기 때문에 상호 간의 변환 방법을 잘 익혀놓는 게 좋다. 1차원 리스트 넘파이를 판다스 데이터프레임으로 변환 먼저 데이터프레임은 행과 열이 있는 2차원 데이터기 때문에, 1차원 혹은 2차원의 데이터들만 변환이 가능하다. 1차원 데이터를 (A)라는 1개의 칼럼을 가진 데이터프레임으로 변환해보자. a,b,c라는 3개의 값을 가진 list1이라는 1차원 리스트를 생성한 후, np.array를 이용해서 list1을 array1이라는 1차원 배열로 변경해주었다. 이제 이 .. 2022. 8. 15.
UDEMY(유데미)는 어떻게 1000명의 크리에이터를 모집했을까? 최근 내가 좋아하는 일이 무엇인가에 대한 질문을 스스로에게 던져두고, 무의식적으로 그 답을 찾아갈 수 있도록 input 하고 싶은 일이 있다면 해 보기로 결심했다. 그 결심의 일환으로 유명 스타트업들이 어떻게 초기의 1000명의 고객을 모았는지 연구해보는 스터디에 가입했다. 내가 처음으로 선택한 케이스 스터디는 바로 온라인 교육 플랫폼, 유데미(Udemy)다. 학원 강사를 하던 대학생 시절부터 데이터 관련 교육업체에서 PM으로 일하고 있는 지금까지 내 삶을 관통하는 하나의 키워드인 '교육', 그중에서도 온라인 교육에 대해서 좀 더 생각해보고 싶어 선택한 기업이다. 덕분에 즐거운 토요일을 보내고 있다 :) Cold Start Problem : 온라인 교육 회사인 유데미(Udemy)의 공동 설립자인 가간 비.. 2022. 8. 13.
[Pandas] 판다스 데이터프레임 기초 with 캐글 타이타닉 파일 판다스란 대부분 우리가 다루는 데이터는 행(Row)과 열(Column)으로 구성돼 있는 2차원 데이터다. 가장 효과적인 데이터 구조이면서 이해하기도 쉽기 때문인데, 판다스 라이브러리는 이런 2차원 데이터 핸들링을 효율적이고 편하게 만들어준다. csv나 txt, 등 다양한 유형의 "구분 기호로 칼럼이 분리된 파일"을 쉽게 데이터프레임으로 불러와서 작업할 수 있다. 판다스 데이터프레임 시리즈 차이 그럼 판다스 데이터프레임, pandas dataframe이란 무엇일까? 먼저 데이터프레임(Dataframe)은 위에서 말한 행과 열로 만들어진 2차원 데이터로, 여러 개의 칼럼을 가지는 데이터 구조체다. 만일 칼럼이 하나뿐이라면 이를 시리즈(Series)라고 부른다. 즉 DataFrame은 여러 개의 Series로.. 2022. 8. 7.
[Numpy] argsort 넘파이 정렬 내림차순까지 간단히 정리 넘파이 기초 개념과 핸들링은 오늘 포스팅으로 끝내고, 판다스에 대해서도 차근차근 정리해볼 예정이다! 마지막으로 알아볼 내용은 넘파이 행렬 정렬 방법이다. Numpy np.sort ndarray.sort 먼저 np.sort(배열명) 는 원래의 데이터는 그대로 유지한 채로 정렬된 행렬을 반환하고, 배열명.sort()는 행렬 자체를 정렬해서 변환하는 것이다. 반환되는 값은 None이라는 점! 해당 예제를 보면 3,1,9,5라는 array1이라는 배열이 있는데 np.sort(배열명) 식으로 하면 array1은 그대로지만 정렬된 행렬을 반환할 수 있다. 하지만 배열명.sort() 방식을 이용하면 반환된 값은 없지만 , array1이 정렬이 되어있음을 확인할 수 있다. 위의 방식은 default값인 오름차순으로 정.. 2022. 8. 5.
[Numpy] 넘파이 인덱싱 슬라이싱 팬시인덱싱 등으로 인덱스 반환하기 +찾기 넘파이 인덱싱은 ndarray의 특정 데이터를 골라서 반환하도록 만드는 것이다. 만약 한 개의 데이터 값을 선택하려면 ndarray 안에서 찾고자 하는 값의 인덱스를 [] 안에 입력하면 된다. 인덱스는 0부터 시작하므로, array라는 1차원 배열의 1번째 값을 선택하고자 한다면 array[0] array라는 1차원 배열의 3번째 값을 선택하고자 한다면 array[2] 와 같이 입력하면 된다. 마이너스 기호를 이용해 array[-1]과 같이 맨 뒤의 데이터를 찾을 수 있다. 맨 앞 데이터 인덱스는 0이고, 맨 뒤 데이터 인덱스는 -1이다. 이런 방식으로 특정 인덱스 값 변경도 가능하지만, ndarray에서는 원본 값이 바로 수정되어버리기 때문에 리스트로 변환하여 작업하는 경우가 흔하다.(리스트는 값을 바.. 2022. 8. 4.
[Numpy] 넘파이 reshape 차원 추가 축소 변경하기 ndarray를 다루다 보면 특정 차원으로 바꾸거나 크기를 변환해야 할 때가 있다. 넘파이 reshape는 그럴 때 유용하게 사용할 수 있는 일종의 method이다. ndarray.reshape(행,열) 형태로 크기를 지정해줄 수 있기 때문에 같은 데이터의 차원을 추가하거나 축소할 수 있다. 넘파이 reshape를 사용할 때 주의할 점이 있는데, 바로 전체 데이터가 10개인 경우 5x2 행렬이나 2x5 행렬과 같이 만들어야 한다는 점이다. 3x3처럼 불가능한 형태로 지정을 하면 아래와 같은 오류 메시지를 만나게 된다. ValueError : cannot reshape array of size 10 in shape(3,3) 1부터 20 사이, 10개의 홀수로 이루어진 배열을 생성해보았다. 1차원으로 생성된.. 2022. 8. 3.
[Numpy] 넘파이 배열 생성 arange range 차이+파이썬 빈 배열 만들기 ndarray, 즉 넘파이 배열 생성에는 주로 arange(), zeros(), ones()가 사용된다. 테스트용으로 파이썬 빈 배열 만들기나, 0 또는 1로 초기화해야 할 때 활용할 수 있도록 알아보자. arange range 차이 arange range 차이는 무엇일까? np.arange()는 range()와 마찬가지로 같은 간격의 정수 리스트를 생성한다. 'start값'부터 'stop값-1'까지 'step' 간격의 정수를 만들 수 있다. 하지만 그 결과값이 array 자료형이라서 계산하기 좀 더 편리하다는 장점이 있다. 그리고 range는 정수만 가능하지만, arange는 실수도 가능하므로 좀 더 다양하게 활용할 수 있다. 파이썬 빈 배열 만들기 empty zeros ones empty() : 모든.. 2022. 8. 2.