PL/Python30 [코드 스터디] UCI-HAR 데이터셋2: 중복칼럼 리네이밍 포스팅 목적 지난번 포스트에서는 UCI-HAR 데이터셋에서 중복피쳐가 무엇인지 확인하고, 데이터값까지 중복인지 알아보는 코드를 작성했다. 이번 포스트에서는 UCI-HAR 데이터셋의 중복된 칼럼이름을 리네이밍하는 코드를 작성하자. 2022.10.28 - [PL/Python] - 코드 스터디: UCI-HAR 데이터셋 중복칼럼 리네이밍 (1) 코드 스터디: UCI-HAR 데이터셋 중복칼럼 리네이밍 (1) 포스팅 목적 코드를 작성하는 연습을 하고, 어떤 코드를 썼는지 기록하는 포스팅. 특정 상황에서 문제를 해결하기 위해 어떤 코드를 작성했는지 정리하자. 문제상황 UCI-HAR 데이터셋에서 피쳐이 tbr74.tistory.com 중복칼럼 리네이밍 아이디어 features.txt를 읽은 features_df는 (5.. PL/Python 2022. 11. 23. 데이터프레임의 인덱스 중복과 loc 프로퍼티 포스팅 목적 데이터프레임에서 .loc[]의 사용에 대해 한번 점검하려고 포스팅! 본론 예제코드 Animal칼럼, 최대스피드 칼럼을 가진 데이터프레임을 아래와 같이 만들었다. import pandas as pd df = pd.DataFrame({'Animal': ['Falcon', 'Falcon', 'Parrot', 'Parrot'], 'Max Speed': [380, 370, 24, 26]}, index=[4,4,5,'긹']) df .loc[ ]는 인덱스로 '행'을 조회하는 프로퍼티 dataframe loc를 검색하면 'label'을 이용해 행과 열 데이터에 접근하는 프로퍼티라 한다. 이때 loc[ _ ] 에 들어가는 레이블은 인덱스를 의미한다. 인덱스는 0, 1, 2, ... 이렇게 나가는 intege.. PL/Python 2022. 11. 2. pandas Dataframe, Series 차이점 정리 (데이터프레임, 시리즈) 포스팅 목적 열심히 공부하던 찰나, 가장 기본이 되는 데이터프레임과 시리즈가 무엇이고 무슨 차이가 있는지 확실하게 설명하기 어렵다는 생각이 들었다. 역시 기초가 제일 중요하다.. 시리즈와 데이터프레임 차이점을 위주로 코드 스터디를 해보자! 첫번째: 기본적인 차이점 가장 근본적인 차이는 칼럼갯수에 있다. 시리즈는 칼럼이 1개, 데이터프레임은 1개 이상이다. import pandas as pd # 간단하게 길이 4짜리 리스트를 만들었다 ldata = [1,2,3,4] # 시리즈 ser = pd.Series(ldata) print('[시리즈의 경우]') print(ser) print('shape:', ser.shape, '\n') # 데이터프레임 df = pd.DataFrame(ldata) print('[데이.. PL/Python 2022. 10. 31. 데이터프레임에서 for loop을 사용하는 다양한 방법 포스팅 목적 데이터프레임을 for문으로 다루는데, 생각한대로 잘 안된다. 아주 기본적인 내용인데, 이런것도 모르는 난 바본가..? 공부해보자! 예제 데이터셋 단순한 데이터프레임을 꾸렸다. 요기서 어떻게 순차적으로 데이터를 꺼내는지 실습해보자. import pandas as pd df = pd.DataFrame([['김가영', 'Korea', 162], ['이상호', 'Korea', 175], ['David', 'America', 180], ['변기태', 'Korea', 173]], columns = ['name', 'country', 'height'], index = [1,2,3,4]) df 인덱스값을 의도적으로 [1,2,3,4]로 주어 데이터를 한 행씩 꺼낼 때 인덱스가 유지되는지를 확인하고자 하였다... PL/Python 2022. 10. 28. [코드 스터디] UCI-HAR 데이터셋1: 중복칼럼 확인 포스팅 목적 코드를 작성하는 연습을 하고, 어떤 코드를 썼는지 기록하는 포스팅. 특정 상황에서 문제를 해결하기 위해 어떤 코드를 작성했는지 정리하자. 문제상황 UCI-HAR 데이터셋에서 피쳐이름이 중복되어 duplicate name error가 생기는 경우가 있다. 1) 중복되는 피쳐가 무엇인지 확인하고, 2) 중복되는 피쳐이름을 리네이밍하자. 코드가 길어져 포스트 두개에 나누어 작성한다. 데이터셋 데이터 설명 UCI Human Activity Recognition Dataset을 사용한다. https://archive.ics.uci.edu/ml/datasets/human+activity+recognition+using+smartphones UCI Machine Learning Repository: Hu.. PL/Python 2022. 10. 28. pandas.DataFrame.apply 함수 기본 사용법 포스팅 목적 데이터프레임에 apply 함수가 있는걸 처음 보았고 어떻게 사용하는것인지 공부하기 위해 포스팅! apply 함수를 알아보자 함수설명 데이터프레임의 축을 따라서 함수를 적용한다. 이 포스팅에서는 데이터프레임 apply를 알아보지만, 시리즈에도 똑같은 apply 함수가 있다. (pandas.Series.apply) Universal function np.sqrt 함수와 같이 1개에 적용되는 유니버셜 함수는 전체 데이터에 적용된다. Reducing function np.sum 과 같이 열이나 축 단위로 적용되는 함수들은 계산할 axis를 정해주어야 한다. lambda식 적용 람다식도 apply함수에 넣어주면 된다 아래 예제코드는 key 칼럼에 apple, korea, banana, melon이 있.. PL/Python 2022. 10. 27. pandas.DataFrame.groupby 기본 사용법 포스팅 목적 왜 이렇게 코드분석이 안될까, 코드작성이 안될까 생각했는데 내가 groupby함수를 제대로 이해하고 사용하지 못하는 데 원인이 있는 것 같았다. 특히 cumcount() 사용에 있어서 헷갈렸는데, 이부분 좀 더 익숙하게 체화시키기 위해 정리해보자. groupby 공부하기 첫번째, 그룹바이 객체 특정 칼럼으로 그룹바이를 호출하면, 그룹바이 객체를 반환한다는 사실. 이 사실을 인지하고 있는것과 모르는것은 큰 차이가 있다. df = pd.DataFrame({'Animal': ['Falcon', 'Falcon', 'Parrot', 'Parrot'], 'Max Speed': [380, 370, 24, 26]}) print(df, '\n') gb_animal = df.groupby('Animal') p.. PL/Python 2022. 10. 27. Pandas merge함수 사용법 기초 포스팅 목적 pandas 라이브러리의 merge함수 사용법을 공부해보자 merge함수 두 데이터프레임을 병합하는 함수. 두개의 함수가 있다는걸 유의해야 한다. pandas.DataFrame.merge()가 있고, pandas.merge()가 있다. 전자의 경우 인자로 병합대상이 되는 데이터프레임을 1개 넣어주지만 후자 pandas.merge()의 경우 병합대상 데이터프레임을 2개 써주어야한다. 함수원형 pd.merge(df_left, df_right, on=None, how="inner") 파라미터 how는 어떤 병합방식을 택할것인지를 넣어준다. 기본적으로 SQL의 inner join 방식이 사용된다. 파라미터 on은 어떤 칼럼을 기준으로 merge할 것인지를 써준다. 만약 df_left와 df_righ.. PL/Python 2022. 10. 26. numpy.r_ 연산자 사용법 포스팅 목적 넘파이 사용중 c_와 r_ 연산자를 접하게 되었다. 무슨 의미인지 무슨 기능을 가졌는지 전혀 연상도 안되고... c_ 연산자는 r_에 기반하였다고하니 일단 r_부터 알아보자. * 주의할 점: 함수가 아니라 연산자! ( )가 아니라 [ ]를 쓴다. numpy.r_ 함수 정의 "첫번째 축을 따라서 slice object를 concatenation으로 변환한다." 사용법 세 가지 사용례가 있다. 첫번째, 대괄호에 comma-seperated 배열이 들어오는 경우 단순히 인자로 들어온 배열을 이어붙이면 된다. 두번째, 대괄호에 slice notation이 들어오는 경우 보통의 경우 np.arange(start, stop, step)으로 쓰이고, 만약 세번째 인덱스 부분에 j가 들어가면 np.lins.. PL/Python 2022. 10. 21. 피쳐 중요도 feature_importances_ 포스팅 목적 결정트리 Decision Tree Classifier와 결정트리를 기반으로 앙상블 학습하는 Random Forest에서 확인할 수 있는 피쳐 중요도에 대해 정리해보는 시간. 다른 학습기들에서도 똑같이 사용할 수 있는지는 아직 모르겠다. feature_importances_ 프로퍼티에 대해 간단히 알아보자. 피쳐 중요도 이 프로퍼티 feature_importances_는 결정트리에서 노드를 분기할때, 해당 피쳐가 클래스를 나누는데 얼마나 영향을 미쳤는지를 표기하는 척도이다. 노말라이즈된 ndarray를 반환하기 때문에 0~1값을 가진다. 0이면 클래스를 구분하는데 해당 피쳐가 선택되지 않았다는것, 1이면 해당 피쳐가 클래스를 완벽하게 나누었다는것을 의미한다 실습1: iris basic 우선 i.. PL/Python 2022. 10. 18. [seaborn] barplot 기초 포스팅 목적 matplotlib만 썼는데.. 갑자기 seaborn이 등장했다. 무엇인지 간단하게만 알아보자. Seaborn? seaborn을 쓰는 이유 matplotlib의 확장판으로 이해하면 된다. 더 간결하고, 시각적으로 더 이쁘다. 아래 간단한 barplot 예제에서 코드가 얼마나 가벼워지는지 확인하자 예제코드 붓꽃 데이터를 불러와 seaborn의 barplot에 그대로 넣어보는 만행을 저질러보겠다. import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_iris # 붓꽃 데이터를 df에 넣는 과정 iris = load_iris() df = pd.DataFrame(iris.data, columns=ir.. PL/Python 2022. 10. 18. 데이터분석: 카디널리티 (Cardinality) 포스팅 목적 데이터분석에서 심심찮게 등장하는 카디널리티가 무엇인지 간단하게 개념 정리. Cardinality? 사전적 정의 카디널리티 자체의 의미는 쉽지만, 잊어버리기 쉬우므로 cardinal이라는 단어의 뜻부터 알아보자 cardinal number 기수. 우리가 일반적으로 쓰는 1, 2, 3, ... 의 숫자를 의미한다. 반댓말은 서수, ordinal number. 5th, 22nd 등을 뜻한다. 데이터분석에서 cardinality 카디널리티는 데이터집합의 유니크한 원소 개수를 뜻한다. 예를들어, 성별은 원소의 종류가 '남', '여' 두 가지이므로 cardinality가 2이다. 반면에, 주민번호의 경우 모든 원소가 유니크하므로 high-cardinality라 말할 수 있다. 맺음말 간단하쥬? PL/Python 2022. 10. 18. 이전 1 2 3 다음