300x250 Data Science90 apply(lambda if) 함수 데이터프레임 Pandas if else 사용법 판다스 데이터프레임을 조작할 때, 내가 원하는 함수를 만드는 경우가 있다. 즉, def를 이용해 함수로 나타낸 코드의 return 값을 모든 데이터프레임에 적용할 수 있다는 것인데, 이럴 때 이용하는 것이 apply 함수이다. 리스트에서 map 함수가 있다면, 데이터프레임에는 apply 함수가 있다. map과 apply도 아래에서 간단히 살펴보자. 전체 데이터프레임이나 특정 칼럼 값을 일괄적으로 가공하는 게 더 빠르겠지만, 특정 조건을 걸어서 조금 더 복잡하게 데이터를 가공해야 할 때 lambda식과 결합하여 apply lambda를 이용하는 것이 좋다. 파이썬 Python list apply lambda x y 함수 먼저 lambda(람다) 함수에 대해서 먼저 알아보자. lambda 함수는 함수명을 프.. 2022. 9. 29. 비전공자 데이터분석 가능할까? 데이터시각화부터 시작하기 최근 데이터에 대한 관심은 날로 높아지고 있다. 이에 따라 데이터와 관련된 전공이 아니더라도 데이터를 분석해야 하는 역량이 필요해지고 있는데, 무엇보다 비전공자 데이터분석가 취업이 가능한가? 하는 의문이 많은 것으로 생각된다. 관련된 정보와 교육은 참 많다. 6개월만에 데이터분석가로 취업하기, 심지어 30일 만에 데이터 사이언티스트 되기와 같은 프로그램을 본 적도 있다. 그러나 비전공자라는 단어에는 내가 해당 분야를 공부해본 적이 없는 초심자라는 명제가 붙는다. 해당 프로그램 내의 SQL, R, 파이썬, 머신러닝, 통계와 수학 지식 등을 짧은 기간 내에 비전공자 수강생이 모두 소화해내려면 얼마나 많은 노력이 필요할까? 전공과 비전공에 상관없이, 많은 시간과 노력을 들일수록 꿈을 이루는 것은 분명히 가능한.. 2022. 9. 17. [Git] 초보가 자주 쓰는 필수 Git 명령어 모음 정리 개인적으로 수행하는 프로젝트나 코드를 Git으로 관리하기로 다짐하고, 가끔씩 깃허브를 업데이트하고 있다. 그 중, 나와 같은 초보가 꼭 알고 있어야 하는 꿀팁과, 자주 쓰는 필수 Git 명령어 모음을 간단히 정리해둔다. 1. Git Bash 활용 Git Bash를 잘 활용하면 하나하나 경로를 이동해야만 하는 불편함을 해소할 수 있다. 바로 이렇게 Repo로 지정할 폴더를 우클릭해서, 'Git Bash Here'를 누르면 바로 해당 경로에서 Git Bash가 실행되기 때문에 아주 편리하게 코드를 업데이트할 수 있다! 2. Repository로 지정 나는 아직 초보이지만, 가끔 아무리 구글링을 해도 나오지 않는 경우 내가 필요한 코드를 작성하는 경우가 있다. 높은 수준은 아니더라도 혹시나 필요한 분들을 위해.. 2022. 9. 11. [Pandas] 판다스 결측치 제거 대체 fillna(0) 간단히 응용하기 칼럼에 값이 없는 공백값일 때, 즉 Null값이 존재할 때, 판다스는 이를 NaN으로 표기한다. 엄밀히 말하면 공백을 의미하는 Null, 숫자가 아니라는 뜻의 NaN(Not a Number), NA(Non Available)은 다른 뜻이지만 판다스에서 다루는 결측치는 NaN으로 이해하는 것이 편할 것이다. NaN은 평균이나 합계를 계산할 때 제외가 되는 등, 말 그대로 사용할 수 없는 데이터를 의미하기 때문에 적절한 처리를 거쳐주는 과정이 필요하다. 실무에서는 여러 가지 상황과 요인을 고려해야 하기 때문에 꽤 많은 고민을 거쳐야 하지만, 이 포스팅에서는 특정 값으로 대체하거나 제거하는 방법론적인 부분만 다룰 예정이다. Pandas isna() 먼저 NaN 값이 존재하는지 여부를 확인하기 위해서는 판다스 .. 2022. 8. 17. [Pandas] 판다스 정렬 sort_values groupby 판다스 정렬 sort_values 데이터프레임과 시리즈 정렬 모두 sort_values()를 이용하면 된다. sort_values는 RDBMS SQL의 order by와 매우 유사한 기능으로, by=['칼럼명'] 으로 특정 칼럼 기준 정렬을 수행할 수 있고 ascending=True로 오름차순, False로 내림차순 정렬이 가능하다.(기본은 True 즉 오름차순) inplace=True 로 데이터프레임의 정렬 결과를 그대로 적용할 수도 있다.(기본은 False) 판다스 Aggregation SQL의 aggregation 함수와 비슷하게 min, max, sum, count와 같은 기초 통계량을 계산할 수 있지만, 판다스 Aggregation은 데이터프레임에서 바로 호출해서 칼럼들 전체에 적용할 수 있다... 2022. 8. 17. [Pandas] 판다스 loc iloc 원하는 행 열만 선택하기 with 위치 기반, 명칭 기반 인덱싱의 이해 판다스에서 원하는 행만 혹은 열만 선택하기, 즉 특정 데이터 선택을 위한 데이터 셀렉션과 필터링은 넘파이와 비슷하기도 하고 다르기도 하다. 넘파이에서 []를 이용해서 단일 값 추출, 슬라이싱 등을 통해 데이터를 추출했는데, 판다스에서는 iloc[]와 loc[]를 이용한다. 먼저 판다스 데이터프레임의 [] 연산자에 대해서도 이해해보자. Pandas Dataframe [] 데이터 프레임 바로 뒤, [] 안에 들어갈 수 있는 건 칼럼 명 문자, 칼럼 명의 리스트 객체, 인덱스로 변환 가능한 표현식이다. 한 마디로 칼럼을 지정할 수 있는 연산자이다. 데이터프레임명['칼럼명']으로 특정 칼럼을 선택할 수 있고, 데이터프레임명[['칼럼명1', '칼럼명2']] 와 같이 여러 칼럼 선택도 가능하다. titanic_df.. 2022. 8. 16. [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. 이전 1 ··· 6 7 8 9 10 다음