Loading...
2024. 1. 3. 02:04

Pandas 기초 9편

1. add_prefix 변수명에 접두사 추가 2. rename 변수명을 변경 3. pivot_table 엑셀테이블이고 교차빈도표 느낌인데 잘 정리된 데이터프레임 느낌..? 제대로 써본적이 없어서 잘 모르겠다.. 각 칸은 aggfunc으로 구해진 값으로 채워진듯 NA는 fill_value = 0으로 채웠을 것이고 crosstab은 pivot table의 특수한 형태라는데 뭔 차이인지 모르겠다 4. persistence 데이터베이스로 연결해주는 기능 제공(sqlite3) pickle이나 엑셀로 객체를 저장하여 다른 곳에 불러와서 사용할 수 있는 기능도 제공 요약하자면 객체를 피클이나 엑셀로 저장해서 다른 곳에도 쓸 수 있게하는 지속성(persistence)을 제공한다는 것 같음

2022. 3. 25. 02:38

데이터프레임에서 행별로 이상치 판단하기 (코딩테스트 복기)

1. 예시 데이터 생성 import pandas as pd import numpy as np a = ['xdjwew1235453kdrew',75,np.nan,np.nan] b = ['jgierw0548323kgfe',54,36,89] c = ['hjeir3058372jdkw',23,85,np.nan] d = ['gjewoe02853klfw',98,94,92] e = ['guehrwenk29584034kgneiew',np.nan,np.nan,55] df = pd.DataFrame([a,b,c,d,e]) 여기서 소소한 팁으로 np.nan으로 NaN값을 넣을 수 있다 'NaN'이나 nan이나 NaN이나 이런거 안됨 2. 행의 값들을 가져오는 방법 df.values하면 데이터프레임의 행들을 numpy array..

2021. 12. 3. 01:37

(빅데이터분석기사) pandas에서 count()를 사용할 때 주의할 점

위에 제시된 데이터프레임의 행의 개수를 구할려면 어떻게 해야할까? 434개인건 명백한데 count함수를 이용하면 다음과 같은 결과가 나온다 왜 이런 결과가 나왔을까? 다음은 데이터프레임에 들어간 boston['RM'].unique() array를 len함수를 이용해서 개수를 세어본 결과이다. 그 비밀은 NA값에 있다. 행의 개수를 세야할 때 pd.DataFrame.count()로 데이터프레임의 행의 개수를 셀 수 있는데 count()함수는 NA가 아닌 값만 세는 특징이 있다. 설명을 보면 non-NA값만 개수를 센다고 나와있다. 그래서 NA값을 세야하는지 세면 안되는지에 따라 주의해서 사용해야한다.

2021. 12. 2. 23:23

Pandas 기초 8편

1. merge 두개의 데이터 테이블을 하나로 합치는 기능 기본은 pd.merge(df1,df2,on=(기준변수)) left_on=(왼쪽 프레임의 기준변수), right_on=(오른쪽 프레임의 기준 변수) 4,5,7,8이 공통으로 subject_id에 들어있으므로 기준변수를 subject_id라 하면 inner join inner join은 두 데이터 프레임에서 공통된 것을 뽑아오고(기본) full join(outer join)은 기준변수에서 두 데이터 프레임 값 모두 가지고 오고 left join은 왼쪽 데이터 프레임은 모두 가지고오고 오른쪽 데이터프레임에 없는 것은 NaN으로 채워넣음 right join은 오른쪽 데이터 프레임은 모두 가지고오고 왼쪽 데이터프레임에 없는 것은 NaN으로 채워넣음 ind..

2021. 12. 2. 23:12

Pandas 기초 7편

1. groupby key별로 데이터를 각각 split하고 각각에 함수를 적용하여 결과를 합침 df.groupby((묶는 기준이 되는 열))[(적용받는 열)].(함수) 2개 이상의 열로 묶어낸 경우 리스트를 사용해서 넣어야한다 2. hierarchical index 두 줄 이상의 index를 가지는 dataframe unstack()으로 두줄의 index를 행과 열로 둔 matrix 형태로 바꿔줌 stack()을 하면 다시 원래 데이터프레임으로 되돌아옴 3. reset_index reset_index를 이용하여 index를 다시 데이터프레임의 변수로 만든다 4. swaplevel() swaplevel()하면 index level을 변경함 index level 기준으로 여러 기본 연산 수행이 가능 5. g..

2021. 12. 1. 02:45

numpy array와 pandas에서 var을 구할 때 차이점

numpy array가 다음과 같이 주어진다. 여기서 분산을 구하고자 하는데 numpy.var()을 이용하여 구할 수 있다. 그런데 위 array를 pandas의 series에 넣어본다면 이 상태에서 분산을 구할려면 .var()을 하면 구할 수 있다 두 방식에서 구한 var에 차이가 있다 분명 같은 값들이 들어간 array로 var을 구한건데 왜 차이가 있을까? 그것은 numpy array에서는 var을 biased estimator로 구하기 때문이다. 모든 데이터 편차제곱합을 개수 N으로 나눠서 구한다 반면 pandas의 dataframe에서 var은 unbiased estimator로 구하기 때문이다. 그래서 두 값이 같게 만들려면 pd.Series에서 var의 옵션에 ddof=0으로 두면 두 값이 ..