[파이썬 판다스] 배열을 이용하여 데이터프레임 정의하기
넘파이와 판다스를 불러옵니다. import numpy as np import pandas as pd 배열을 하나 정의합니다. ar=np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]]) >>> ar array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [10, 11, 12]]) 배열을 이용하여 데이터프레임을 정의합니다. df=pd.DataFrame(ar,columns=['C1','C2','C3'],index=['R1','R2','R3','R4']) >>> df C1 C2 C3 R1 1 2 3 R2 4 5 6 R3 7 8 9 R4 10 11 12
2021. 12. 30.
[파이썬 판다스] 데이터프레임에서 특정 열 제거하기
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 성별 열을 제거해봅시다. drop 메소드를 사용합니다. 행을 제거할 때와 달리 옵션을 입력해야 합니다. axis=1 또는 axis='columns' 옵션을 입력합니다. >>> data1.drop('성별',axis=1) 이름 나이 0 이..
2021. 12. 30.
[파이썬 판다스] 데이터프레임에서 특정 행 제거하기
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 2행을 제거해봅시다. drop 메소드를 사용합니다. >>> data1.drop(1) 이름 성별 나이 0 이호정 남 25 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 리스트를 이용해서 여러 행을 제거하는 것도 가능합니다. ..
2021. 12. 30.
[파이썬 판다스] 데이터프레임에 행,열 순서 동시에 변경하기
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 행과 열의 순서를 동시에 변경해봅시다. loc 메소드를 사용합니다. >>> data1.loc[[2,3,4,1,0],['성별','나이','이름']] 성별 나이 이름 2 남 72 이기호 3 여 25 정희진 4 여 37 이나리 1 남 45 ..
2021. 12. 22.
[파이썬 판다스] 데이터프레임에 열 순서 변경하기
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 행 순서를 변경해봅시다. reindex 메소드를 사용합니다. columns 옵션을 명시해 주어야 합니다. >>> data1.reindex(columns=['나이','성별','이름']) 나이 성별 이름 0 25 남 이호정 1 45 남 이..
2021. 12. 22.
[파이썬 판다스] 데이터프레임에 행 순서 변경하기
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 행 순서를 변경해봅시다. reindex 메소드를 사용합니다. >>> data1.reindex([1,3,2,4,0]) 이름 성별 나이 1 이정진 남 45 3 정희진 여 25 2 이기호 남 72 4 이나리 여 37 0 이호정 남 25
2021. 12. 22.
[파이썬 판다스] 데이터프레임에 값만 배열 형태로 추출
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 값만 배열로 추출해봅시다. values 메소드를 사용합니다. >>> data1.values array([['이호정', '남', 25], ['이정진', '남', 45], ['이기호', '남', 72], ['정희진', '여', 25], [..
2021. 12. 22.
[파이썬 판다스] 데이터프레임에 행과 열이름에 상위 카테고리 부여
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 행과 열에 상위 카테고리명을 부여해봅시다. 행에는 '번호'라는 카테고리를, 열에는 '특성'이라는 카테고리를 부여하겠습니다. 먼저 행에 '번호'라는 카테고리를 부여합시다. index.name 메소드를 사용합니다. >>> data1.ind..
2021. 12. 22.
[파이썬 판다스] 데이터프레임에 행/열 뒤집기(transpose)
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 행과 열을 바꿀 때는 T 메소드를 사용합니다. >>> data1.T 0 1 2 3 4 이름 이호정 이정진 이기호 정희진 이나리 성별 남 남 남 여 여
2021. 12. 21.
[파이썬 판다스] 데이터프레임에 열 추가하기
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 직업 열을 추가해보겠습니다. 직업에 해당하는 시리즈를 하나 정의합시다. >>> job=pd.Series(['선생님','경찰관','국회의원','의사','소방관']) >>> 직업 0 선생님 1 경찰관 2 국회의원 3 의사 4 소방관 dty..
2021. 12. 21.
[파이썬 판다스] 데이터프레임 특정 열 수정하기
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 '나이' 열을 수정해봅시다. 아래와 같이 두 가지 방법이 있습니다. >>> data1.나이=[15,15,15,15,15] >>> data1 이름 성별 나이 0 이호정 남 15 1 이정진 남 15 2 이기호 남 15 3 정희진 여 15 ..
2021. 12. 17.
[파이썬 판다스] 데이터프레임 특정 열에 접근하기
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 '이름' 열에 접근해봅시다. 아래와 같이 두 가지 방법이 있습니다. >>> data1.이름 0 이호정 1 이정진 2 이기호 3 정희진 4 이나리 Name: 이름, dtype: object >>> data1['이름'] 0 이호정 1 이정..
2021. 12. 17.
[파이썬 판다스] 데이터프레임 열 이름 수정하기
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 열 이름을 수정할 때는 columns 메소드를 사용합니다. 원하는 열이름을 리스트 형태로 입력하면 됩니다. >>> data1.columns=['name','sex','age'] >>> data1 name sex age 0 이호정 남 2..
2021. 12. 17.
[파이썬 판다스] 데이터프레임 열 이름 출력하기
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic) >>> data1 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 열 이름에 접근할 때는 columns 메소드를 사용합니다. >>> data1.columns Index(['이름', '성별', '나이'], dtype='object')
2021. 12. 17.
[파이썬 판다스] 데이터프레임 행 이름 입력하기
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의할 때 index 옵션을 추가해주면 됩니다. data1=pd.DataFrame(dic,index=['A','B','C','D','E']) >>> data1 이름 성별 나이 A 이호정 남 25 B 이정진 남 45 C 이기호 남 72 D 정희진 여 25 E 이나리 여 37 중복 입력도 가능합니다. >>> data1=pd.DataFrame(dic,index=['A','B','C','C','E']) >>> data1 이름 ..
2021. 12. 16.
[파이썬 판다스] 데이터프레임 딕셔너리에서 원하는 순서로 정의하기
판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 하나 정의합시다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } >>> dic {'이름': ['이호정', '이정진', '이기호', '정희진', '이나리'], '성별': ['남', '남', '남', '여', '여'], '나이': [25, 45, 72, 25, 37]} 데이터프레임을 만들면 딕셔너리 원소 입력 순서로 정렬됩니다. data=pd.DataFrame(dic) >>> data 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 원하는 순서로 정..
2021. 12. 16.
[파이썬 판다스] 데이터프레임 첫 5개 데이터만 출력 (head)
판다스 데이터프레임을 하나 정의합시다. import pandas as pd data=pd.DataFrame(data={'이름':['이호정','이정진','이기호','정희진','이나리','여민정','송지은'], '성별':['남','남','남','여','여','여','여'], '나이':[25,45,72,25,37,23,66] }) >>> data 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 5 여민정 여 23 6 송지은 여 66 head 메소드를 이용하여 첫 5개 데이터만 출력해봅시다. 데이터가 아주 많은 경우 앞부분만 확인하고 싶을 때 사용합니다. >>> data.head() 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기..
2021. 12. 16.
[파이썬 판다스] 데이터프레임 정의하기
데이터프레임은 엑셀과 가장 유사합니다. 엑셀시트라고 생각하시면 됩니다. 차이가 있다면 행과 열의 이름을 지정할 수가 있습니다. 엑셀은 행이름은 숫자, 열이름은 알파벳으로 되어 있습니다. 데이터프레임을 하나 만들어봅시다. 아래와 같은 표를 데이터프레임으로 정의해봅시다. 아래와 같이 정의합니다. >>> import pandas as pd >>> data=pd.DataFrame({'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37]}) >>> data 이름 성별 나이 0 이호정 남 25 1 이정진 남 45 2 이기호 남 72 3 정희진 여 25 4 이나리 여 37 pd.DataFrame 괄호 안에 입력된 데..
2021. 12. 16.
[파이썬] 리스트 할당과 복사 (2차원 배열에서는 왜 안될까)
아래와 같이 a라는 리스트를 정의해봅시다. >>> a=[1,2,3] b에 a를 할당합니다. >>> b=a >>> b [1, 2, 3] b를 수정하면 a가 바뀔까요. 바뀌지 않을까요? 한번 수정해봅시다. >>> b[0]=2 >>> a [2, 2, 3] a도 함께 바뀝니다. copy 메소드 만약 b를 a와 같게 정의하고, 이후에는 b만 독립적으로 사용하려면 어떻게 해야 할까요? copy 메소드를 사용하면 됩니다. copy 메소드로 b를 정의해봅시다. >>> a=[1,2,3] >>> b=a.copy() >>> a [1, 2, 3] >>> b [1, 2, 3] b의 원소를 바꿔봅시다. >>> b[0]=50 >>> a [1, 2, 3] >>> b [50, 2, 3] b만 변경되었습니다. copy 메소드에는 한계가..
2021. 11. 9.
[파이썬] 불러온 패키지,모듈 목록 확인방법
print(dir()) 을 입력하면 확인할 수 있습니다. >>> print(dir()) ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__'] 넘파이 패키지를 불러오고 확인해봅시다. >>> import numpy >>> print(dir()) ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'numpy'] 목록에 numpy가 추가되었습니다.
2021. 10. 26.
파이썬 함수 예시 (이름,나이,직업 입력하면 자기소개문장출력)
이름,직업,나이를 입력하면 자기소개문장을 출력해주는 함수를 만들어봅시다. 예를들어 홍길동,프리랜서,39세 를 입력하면 아래 문장이 출력되는 것입니다. 안녕하세요. 제 이름은 홍길동 입니다. 직업은 프리랜서이고, 나이는 39세입니다. 함수는 아래와 같이 정의합니다. def self_intro(name, job, age): print("안녕하세요. 제 이름은 %s 입니다. 직업은 %s 이고, 나이는 %s세입니다." %(name,job,age)) 아래는 함수 사용 예시입니다. >>> self_intro(name="김영희",job="변호사",age="46") 안녕하세요. 제 이름은 김영희 입니다. 직업은 변호사 이고, 나이는 46세입니다.
2021. 10. 25.
파이썬 가변객체와 불변객체 분류와 이해
파이썬에서 객체는 type 함수를 적용했을 때 반환되는 값입니다. 아래와 같은 객체들이 있습니다. int, float, string, bool, unicode list, tuple, dict, set 객체는 크게 둘로 나뉩니다. 가변객체와 불변객체입니다. 가변객체는 값을 바꿀 수 있는 객체이고, 불변객체는 값을 바꿀 수 없는 객체입니다. 가변 객체(mutable object) : list, dict, set 불변 객체(immutable object) : int, float, string, bool, tuple 이런 질문을 할 수 있습니다. 정수도 값을 바꿀 수 있는데? a=3 으로 넣었다가 a=5를 넣으면 값이 바뀌지 않느냐는 의문입니다. 이런 혼동을 방지하기 위해 가변과 불변을 더 명확히 정의해봅시다...
2021. 10. 6.
[파이썬] 맴버 연산자 (member operators)
맴버연산자는 어떤 값이 리스트에 포함되어 있는지를 판단하는 연산자입니다. 연산자는 아래 두종류입니다. in not in 아래와 같이 사용합니다. >>> my_list=[1,2,3,4,5] >>> 1 in my_list True >>> 10 in my_list False >>> 2 not in my_list False 맴버연산자라는 이름이 붙은 이유는 맴버인지 아닌지 확인할 때 사용할 수 있기 때문인 것 같습니다. 우리 모임의 맴버를 아래와 같이 정의합시다. >>> member=['희진','은정','기준','가은','준호'] >>> member ['희진', '은정', '기준', '가은', '준호'] 준호가 우리 모임 맴버인지 확인해봅시다. >>> '준호' in member True 시연이가 우리 모임 맴버..
2021. 9. 28.