파이썬 팁

파이썬 pandas 텍스트에서 시작하여 데이터베이스 만들기

gomming 2020. 9. 26. 00:33

pandas를 이용하면 편리한점이 참 많을 텐데 항상 numpy만 이용하는 현실 ..

그래서 pandas를 처음 이용하는 것을 가정하여 팁을 소개해 드려요.

아주 간단한 예제이니 colab으로 따라해 보셔도 좋을것 같아요.

pandas와 numpy 라이브러리를 불러옵니다

 

dyna= 'EID PID N1 N2\n1 1 1 2\n2 1 3 4\n3 2 5 6\n4 2 7 8\n5 3 9 10\n6 3 11 12'

 

위와 같은 텍스트가 있다고 가정합니다... 출력해보면 이렇게 나타납니다

 

이런 타입의 텍스트 파일을 이용해서 작업할 경우 유용한 방법인데요.

첫 째줄은 칼럼이 되고 두번째 줄부터 내용입니다.

 

내용은 공백으로 구분되기 때문에 아래와 같이 하나씩 구분할 수 있어요.

먼저 칼럼을 구분하였어요

 

 

dyn_el=[]

for i in range(len(dyn_list)-1):

dyn_el.append(dyn_list[i+1].split())

 

새로운 리스트를 만들어서 split으로 분리된 문자열 리스트를 담았습니다

 

리스트는 np.array()를 통해 배열로 변환할 수 있어요

 

변환된 배열을 판다스 데이터프레임으로 변환합니다

dyn_pd= pd.DataFrame(dyn_ar, columns= col)

코드로 칼럼을 적용한 판다스 데이터프레임이 만들어졌어요 주피터노트북에서는 위와 같이 테이블을 보여줘요 ~.~

이제 만들어진 데이터프레임의 이용법을 몇가지 소개해드릴게요

특정 칼럼 값을 갖는 데이터를 빼오는 방법입니다

 

P1=dyn_pd[dyn_pd['PID']=='1']

위 코드로 PID가 1인 로우를 빼올 수 있습니다

 

 

 

PID가 2인 데이터를 빼온 결과에요 

다음으로 특정 칼럼만 분리하는 방법입니다

 

위와 같이 입력하여 N1 N2칼럼을 분리하였어요

이렇게 다수의 칼럼을 분리하실 수 있답니다

 

다음은 반대로 특정 로우를 빼오는 방법입니다

이렇게 iloc(index) 입력으로 빼올수 있어요

다음 특정 로우를 제거하는 방법입니다

 

drop()기능으로 분리되었어요.

마지막으로 특정 칼럼을 제거해 보겠습니다.

dyn_drop2=dyn_pd.drop(['EID'],axis=1)

위와 같이 입력하여 EID 칼럼을 제거하였습니다

 

 

 

 

#공백 #구분 #split #array #np #shape #DataFrame #pd #특정값을갖는데이터분리 #칼럼분리 #칼럼제거 #특정로우분리 #drop #특정로우제거 #특정칼럼제거