Loading...
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. 23:59

Numpy 기초 8편

1. boolean index boolean array를 넣어 array를 추출함 condition을 넣어 condition에 맞는 array를 추출하는 방식 2. fancy index index array를 넣어 해당 index에 맞는 값들을 추출 index는 int로 선언해야 index로 인식함 3. data in&out loadtxt로 텍스트 파일을 열고 savetxt로 저장함 astype()은 원하는 type으로 바꿔줌 np.save를 통해 array를 pickle형태로 저장하고 다시 불러올 수 있음 array를 처음부터 다시 만들기 까다로울 때, 예상치 못한 상황이 발생할 때를 대비해서 저장해놓고 사용하면 편할 수 있음

2021. 12. 1. 23:42

Numpy 기초 7편

1. np.where() 1-1) np.where(,(True일때 출력),(False일때 출력)) 1-2) np.where() condition이 True인 index만을 차례대로 array로 반환 2. isnan & isfinite np.isnan() NaN인 값을 찾아 True, False array로 반환 np.isfinite() finite인 값 찾아 True, False array로 반환 3. argmax,argmin array내 최댓값 index 반환 >> argmax array내 최솟값 index 반환 >> argmin sorting한 index 반환 >>argsort a[np.argmin(a)] 하면 최솟값을 출력할 수 있음 비슷하게 a[a.argsort()] 하면 sorting한 arra..

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으로 두면 두 값이 ..