본문 바로가기
반응형

판다스94

콤마 구분 텍스트 파이썬 불러오기 (판다스 데이터프레임) 파이썬에서 불러올 데이터는 아래와 같습니다. 코드는 아래와 같습니다. pd.read_table 함수를 사용합니다. sep 옵션을 이용하여 구분자가 무엇인지를 입력해야 합니다. 위 경우는 콤마이므로 sep=',' 옵션을 입력합니다. 전체 경로를 입력하여 불러오는 방법과, 작업경로 지정 후 파일 이름으로 불러오는 방법이 있습니다. import pandas as pd import os #방법 1. 전체 경로 입력 df1=pd.read_table('C:/Users/ex_weight.xlsx',sep=',') #방법 2. 작업경로 지정 후 파일 이름 입력 os.chdir('C:/Users') df1=pd.read_table('ex_weight.xlsx',sep=',') 불러온 결과는 아래와 같습니다. >>> df.. 2022. 1. 10.
파이썬으로 엑셀 데이터 불러오기 (판다스 데이터프레임) 파이썬에서 불러올 데이터는 아래와 같습니다. 코드는 아래와 같습니다. pd.read_excel 함수를 사용합니다. 전체 경로를 입력하여 불러오는 방법과, 작업경로 지정 후 파일 이름으로 불러오는 방법이 있습니다. import pandas as pd import os #방법 1. 전체 경로 입력 df1=pd.read_excel('C:/Users/ex_weight.xlsx') #방법 2. 작업경로 지정 후 파일 이름 입력 os.chdir('C:/Users') df1=pd.read_excel('ex_weight.xlsx') 불러온 결과는 아래와 같습니다. >>> df1 회사 제품 무게 최소 최대 0 AMOS Glue_Stick 36.97 36.0 38.0 1 Monami Name_Pan 7.54 7.0 8.0.. 2022. 1. 10.
[파이썬 판다스] 데이터프레임 데이터 불러오기 관련 함수들 모음 데이터프레임 데이터 불러오기 관련 함수들 모음입니다. 함수 기능 read_table tab 으로 구분된 자료 read_csv , 으로 구분된 자료 read_excel 엑셀자료 read_html html 자료 read_json json 자료 read_sql SQL 자료 read_sas sas 자료 read_stata stata 자료 2022. 1. 10.
[파이썬 판다스] 데이터프레임해서 열별로 각 원소 개수 추출하기 (value_counts) 판다스를 불러오고 데이터프레임을 하나 정의합시다. import pandas as pd df1=pd.DataFrame({"C1":[1,2,3],"C2":[1,3,4],"C3":[1,5,6]}) >>> df1 C1 C2 C3 0 1 1 1 1 2 3 5 2 3 4 6 열별로 각 원소의 개수를 출력해봅시다. apply 메소드를 이용하여 value_count 함수를 각 열에 적용합니다. >>> df1.apply(pd.value_counts) C1 C2 C3 1 1.0 1.0 1.0 2 1.0 NaN NaN 3 1.0 1.0 NaN 4 NaN 1.0 NaN 5 NaN NaN 1.0 6 NaN NaN 1.0 NaN 을 다른 수로 채우려면 아래와 같이 하면 됩니다. >>> df1.apply(pd.value_count.. 2022. 1. 10.
[파이썬 판다스] 시리즈에서 각 원소가 특정 리스트의 어느 인덱스인지 확인하기 (get_indexer) 판다스를 불러오고 시리즈를 하나 정의합시다. import pandas as pd s1=pd.Series(['a','b','a','a','c','d','e','e']) >>> s1 0 a 1 b 2 a 3 a 4 c 5 d 6 e 7 e dtype: object 각 원소가 ['a','b','c','d','e'] 의 몇번째 인덱스인지 확인해봅시다. 이 리스트도 변수에 넣어줍니다. >>> for_idx=['a','b','c','d','e'] s1의 각 원소가 몇번째 인덱스인지 확인해봅시다. >>> pd.Index(for_idx).get_indexer(s1) array([0, 1, 0, 0, 2, 3, 4, 4], dtype=int64) 2022. 1. 10.
[파이썬 판다스] 시리즈에서 각 원소가 특정 리스트에 있는지 판단하기 판다스를 불러오고 시리즈를 하나 정의합시다. import pandas as pd s1=pd.Series(['a','b','a','a','c','d','e','e']) >>> s1 0 a 1 b 2 a 3 a 4 c 5 d 6 e 7 e dtype: object 각 원소가 ['a','b'] 에 들어있는지 판단해봅시다. isin 함수를 사용합니다. >>> s1.isin(['a','b']) 0 True 1 True 2 True 3 True 4 False 5 False 6 False 7 False dtype: bool 2022. 1. 10.
[파이썬 판다스] 시리즈에서 원소 별 개수 출력하기 (value_counts) 판다스를 불러오고 시리즈를 하나 정의합시다. import pandas as pd s1=pd.Series(['a','b','a','a','c','d','e','e']) >>> s1 0 a 1 b 2 a 3 a 4 c 5 d 6 e 7 e dtype: object 각 원소 별 개수를 출력해봅시다. value_counts 메소드를 사용합니다. >>> s1.value_counts() a 3 e 2 b 1 c 1 d 1 dtype: int64 많이 있는 것 순서대로 정렬된 것을 알 수 있습니다. 등장 순서대로 정렬하려면 sort=False 옵션을 입력하면 됩니다. >>> s1.value_counts(sort=False) a 3 b 1 c 1 d 1 e 2 dtype: int64 위 메소드는 판다스 함수 형태로도 .. 2022. 1. 10.
[파이썬 판다스] 시리즈에서 고유 값 추려내기 (unique) 판다스를 불러오고 시리즈를 하나 정의합시다. import pandas as pd s1=pd.Series(['a','b','a','a','c','d','e','e']) >>> s1 0 a 1 b 2 a 3 a 4 c 5 d 6 e 7 e dtype: object 고유 값을 추려 봅시다. unique 메소드를 사용합니다. >>> s1.unique() array(['a', 'b', 'c', 'd', 'e'], dtype=object) 2022. 1. 10.
[파이썬 판다스] 시리즈에서 중복 값 제거하기 (unique) 판다스를 불러오고 시리즈를 하나 정의합시다. import pandas as pd s1=pd.Series(['a','b','a','a','c','d','e','e']) >>> s1 0 a 1 b 2 a 3 a 4 c 5 d 6 e 7 e dtype: object 중복 값을 제거해봅시다. unique 메소드를 사용합니다. >>> s1.unique() array(['a', 'b', 'c', 'd', 'e'], dtype=object) 2022. 1. 10.
[파이썬 판다스] 데이터프레임에 사용되는 통계관련 함수 모음 (평균, 표준편차 등) 데이터프레임에 사용되는 통계관련 함수는 아래와 같습니다. 메소드 형태로 사용합니다. 데이터프레임 이름이 df1이고 함수명이 aa라면 아래와 같이 사용합니다. df1.aa() 기본적으로 각 열에 적용됩니다. 각 행에 적용을 원하는 경우 axis='columns' 옵션을 설정하면 됩니다. 함수는 아래와 같습니다. 1. 통계량 관련 메소드 설명 mean 평균 var 분산 std 표준편차 skew 왜도 kurt 첨도 median 중앙값 mad 중앙값 절대편차 describe 여러 통계량 한번에 출력 quantile 분위수 (0~1사이값 입력) 2. 개수, 합, 차, 곱, 변화율 관련 메소드 설명 count 개수 sum 합 cumsum 누적합 prod 곱 diff 앞 원소와의 차이 pct_change 앞 원소와의.. 2022. 1. 4.
[파이썬 판다스] 시리즈에 사용되는 통계관련 함수 모음 (평균, 표준편차 등) 시리즈에 사용되는 통계관련 함수는 아래와 같습니다. 메소드 형태로 사용합니다. 시리즈 이름이 sr1이고 함수명이 aa라면 아래와 같이 사용합니다. sr1.aa() 함수는 아래와 같습니다. 1. 통계량 관련 메소드 설명 mean 평균 var 분산 std 표준편차 skew 왜도 kurt 첨도 median 중앙값 mad 중앙값 절대편차 describe 여러 통계량 한번에 출력 quantile 분위수 (0~1사이값 입력) 2. 개수, 합, 차, 곱, 변화율 관련 메소드 설명 count 개수 sum 합 cumsum 누적합 prod 곱 diff 앞 원소와의 차이 pct_change 앞 원소와의 변화율 3. 최대 최소 관련 메소드 설명 min 최솟값 max 최댓값 argmin 최솟값 인덱스 argmax 최댓값 인덱스.. 2022. 1. 4.
[파이썬 판다스] 시리즈 누적합 계산 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 시리즈를 생성합니다. 행의 이름을 아래와 같이 입력합니다. >>> sr1=pd.Series(np.random.rand(5),index=['R1','R2','R3','R4','R5']) >>> sr1 R1 0.045323 R2 0.962080 R3 0.687952 R4 0.599187 R5 0.783972 dtype: float64 원소의 누적합을 구해봅시다. cumsum 메소드를 사용합니다. >>> sr1.cumsum() R1 0.045323 R2 1.007403 R3 1.695354 R4 2.2.. 2022. 1. 4.
[파이썬 판다스] 시리즈 원소의 최댓값이 들어있는 행 출력 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 시리즈를 생성합니다. 행의 이름을 아래와 같이 입력합니다. import pandas as pd import numpy as np 원소의 최댓값이 들어있는 행을 출력해봅시다. idxmax 메소드를 사용합니다. >>> sr1.idxmax() 'R2' 2022. 1. 4.
[파이썬 판다스] 시리즈 원소의 평균 구하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 시리즈를 생성합니다. 행의 이름을 아래와 같이 입력합니다. >>> sr1=pd.Series(np.random.rand(5),index=['R1','R1','R2','R3','R4']) >>> sr1 R1 0.150008 R1 0.285633 R2 0.960971 R3 0.810092 R4 0.846327 dtype: float64 원소의 평균을 구해봅시다. mean 메소드를 사용합니다. >>> sr1.mean() 0.6106061298356524 2022. 1. 4.
[파이썬 판다스] 시리즈 원소의 합 구하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 시리즈를 생성합니다. 행의 이름을 아래와 같이 입력합니다. >>> sr1=pd.Series(np.random.rand(5),index=['R1','R1','R2','R3','R4']) >>> sr1 R1 0.150008 R1 0.285633 R2 0.960971 R3 0.810092 R4 0.846327 dtype: float64 원소의 합을 구해봅시다. sum 메소드를 사용합니다. >>> sr1.sum() 3.053030649178262 2022. 1. 4.
[파이썬 판다스] 데이터프레임 각 열의 개수,평균,표준편차,최댓값,최솟값,분위수 출력 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 각 열의 개수,평균.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임 행 방향으로 누적값 계산 (cumsum) 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 행 방향으로 누적값.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임 열별 최댓값이 들어있는 행을 출력 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 각 열별로 최댓값이.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임 행별 평균 구하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 열 별 합을 구해봅.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임 열별 평균 구하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 열 별 평균을 구해.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임 행별 합 구하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 열 별 합을 구해봅.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임 열별 합 구하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 열 별 합을 구해봅.. 2022. 1. 4.
[파이썬 판다스] 시리즈 행 이름 중복 여부 확인 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 시리즈를 생성합다. 행의 이름을 아래와 같이 입력합니다. >>> sr1=pd.Series(np.random.rand(5),index=['R1','R1','R2','R3','R4']) >>> sr1 R1 0.450499 R1 0.276244 R2 0.263212 R3 0.799937 R4 0.255633 dtype: float64 행 이름에 중복이 있는지 알아봅시다. index.is_unique 메소드를 사용합니다. False가 나오면 중복이 있는 것입니다. >>> sr1.index.is_uniqu.. 2022. 1. 4.
[파이썬 판다스] 데이터 프레임 행별 원소 순위(rank) 출력하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합니다. 행과 열의 이름을 아래와 같이 입력합니다. df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.317600 0.876055 0.027170 0.098733 R2 0.092537 0.582459 0.079630 0.913807 R3 0.470795 0.179732 0.905553 0.757245 행별 원소의 순위(ran.. 2022. 1. 4.
[파이썬 판다스] 데이터 프레임 열별 원소 순위(rank) 출력하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합니다. 행과 열의 이름을 아래와 같이 입력합니다. df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.317600 0.876055 0.027170 0.098733 R2 0.092537 0.582459 0.079630 0.913807 R3 0.470795 0.179732 0.905553 0.757245 열별 원소의 순위(ran.. 2022. 1. 4.
[파이썬 판다스] 시리즈 원소의 순위(rank) 출력하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 시리즈를 생성합니다. sr1=pd.Series(np.random.rand(5)) >>> sr1 0 0.230081 1 0.676289 2 0.867322 3 0.680876 4 0.098489 dtype: float64 시리즈 원소의 순위(rank) 출력해봅시다. rank 메소드를 사용합니다. >>> sr1.rank() 0 2.0 1 3.0 2 5.0 3 4.0 4 1.0 동률(tie) 처리 옵션은 아래와 같습니다. method=' ' 형태로 입력합니다. 디폴트는 average입니다. 예를들어 공.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임을 특정 열의 값 크기 순으로 정렬하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합니다. 행과 열의 이름을 아래와 같이 입력합니다. df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.648971 0.240321 0.387624 0.602800 R2 0.557481 0.090147 0.742283 0.668202 R3 0.014178 0.482729 0.444863 0.656445 C3행의 값 크기 순으로.. 2022. 1. 4.
[파이썬 판다스] 시리즈를 값 크기 순으로 정렬하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 시리즈를 생성합니다. >>> sr1=pd.Series(np.random.rand(5)) >>> sr1 0 0.263950 1 0.830847 2 0.731628 3 0.424860 4 0.427524 dtype: float64 값의 크기 순으로 정렬해봅시다. sort_values 메소드를 이용합니다. >>> sr1.sort_values() 0 0.263950 3 0.424860 4 0.427524 2 0.731628 1 0.830847 dtype: float64 역순 정렬은 ascending=Fa.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임을 열의 이름 순으로 정렬하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합니다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R3","R1","R2"],columns=["C2","C3","C1","C4"]) >>> df1 C2 C3 C1 C4 R3 0.489523 0.234162 0.050091 0.333715 R1 0.378797 0.245567 0.407612 0.033149 R2 0.509813 0.613097 0.032658 0.489478 열 이름의 순서대.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임을 행의 이름 순으로 정렬하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합니다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R3","R1","R2"],columns=["C2","C3","C1","C4"]) >>> df1 C2 C3 C1 C4 R3 0.489523 0.234162 0.050091 0.333715 R1 0.378797 0.245567 0.407612 0.033149 R2 0.509813 0.613097 0.032658 0.489478 행 이름의 순서대.. 2022. 1. 4.
반응형