본문 바로가기
Python/Pandas

데이터의 확인(head, tail, print함수 사용) - pandas(6)

by 콩돌 2019. 10. 15.
반응형

파이썬 버전 3.7 기준

pandas 버전 0.25.1 기준



 pandas에서 데이터의 확인법


본 포스팅에서는 pandas에서의 데이터를 확인하기 위한 head() 메서드와, tail() 메서드에 대해 다룬다. 

이외에 부가적으로 파이썬에서 제공하는 print 함수를 활용한 출력도 살펴볼까 한다.


 head와 tail 메서드


Pandas에서 데이터를 확인하는 방법으로는 여러가지가 있겠지만, 가장 쉽고 단순하게 사용할 수 있는 메서드로는 head와 tail 메서드를 활용하는 방법이 있다. 

이 메서드들은 데이터의 전부를 보여주지 않고 데이터의 상단부분(head)와 하단부분(tail)만 출력하여 보여준다.

광대한 데이터를 다룰 수 있는 pandas의 특성상 특정 변수에 제대로된 데이터가 들어갔는지 간략히 확인할 수 있게한다.

  ○ 데이터 자료형의 확인

  ○ 각 레이블에 맞는 데이터 매칭 확인


각 함수에 대한 설명과 예제는 다음과 같다. 

 

 head(self, n=5)

DataFrame 내의 처음 n줄의 데이터를 출력한다.

이 메서드(method)는 객체 안에 제대로된 데이터 타입이 입력되어있는지 빠르게 확인할 경우 사용하면 매우 유용하다. 

n의 값의 기본값은 5이며 아무 입력이 없을 경우 5줄을 기본으로 출력한다. 



 tail(self, n=5)

DataFrame 내의 마지막 n줄의 데이터를 출력한다.

이 메서드(method) head와 마찬가지로 객체 내에 데이터 타입 확인하는데 유용하다.

또한 데이터를 정렬 하거나 혹은 데이터를 추가했을 경우 결과를 확인하는데에도 매우 유용하다.

n의 값은 마찬가지로 5이며 아무 입력이 없을 경우 5줄을 기본으로 출력한다. 



 각 함수의 사용 예제

다음 예제는 head와 tail함수를 사용하는 예제이다. 


head와 tail의 사용 예)

# pandas와 numpy의 import

In[2]: import pandas as pd

In[3]: import numpy as np


# head 메서드 사용 예제

In[4]: ex = pd.DataFrame(np.random.rand(50,100))

In[5]: ex.head()

Out[5]: 

         0         1         2     ...           47        48        49

0  0.280896  0.960796  0.795480    ...     0.903813  0.494690  0.872804

1  0.373436  0.879368  0.312592    ...     0.016188  0.862096  0.158024

2  0.458012  0.562220  0.821755    ...     0.722473  0.246970  0.463958

3  0.262894  0.852985  0.929778    ...     0.796413  0.235448  0.758944

4  0.481293  0.439096  0.347588    ...     0.414101  0.362921  0.707192

[5 rows x 50 columns]


In[6]: ex.head(2)

Out[6]: 

         0         1         2     ...           47        48        49

0  0.280896  0.960796  0.795480    ...     0.903813  0.494690  0.872804

1  0.373436  0.879368  0.312592    ...     0.016188  0.862096  0.158024

[2 rows x 50 columns]


# tail 메서드사용 예제

In[7]: ex.tail()

Out[7]: 

          0         1         2     ...           47        48        49

95  0.524164  0.803122  0.297646    ...     0.785620  0.161350  0.540045

96  0.606234  0.243370  0.326971    ...     0.736106  0.370254  0.377344

97  0.221250  0.117193  0.428552    ...     0.026223  0.287382  0.370266

98  0.387796  0.443351  0.708980    ...     0.357176  0.959288  0.434755

99  0.817456  0.628274  0.394918    ...     0.311213  0.830438  0.037708

[5 rows x 50 columns]



 print 함수의 사용


위에서 언급한 head, tail 메서드 말고도 파이썬에서 제공하는 print함수를 사용하는 방법 역시 존재한다.

하지만 광대한 데이터를 취급할 수 있는 pandas의 특성상 취급하는 데이터의 수가 많아지면 데이터를 출력할때 요약하여 출력하게 된다.


다음 예제는 적은데이터를 활용할 시에 print 함수 사용 및 결과와, 큰 데이터를 활용할 시에 print 함수 사용 및 결과의 예제이다. 

  ○ 예제에서 확인할 수 있다싶이, 적은 데이터를 출력할 때에는 전체의 행렬이 다 표현되지만, 데이터가 클 경우에는 요약되어 표현되는 것을 알 수 있다.


print 함수의 사용 예)

# pandas와 numpy의 import

In[2]: import pandas as pd

In[3]: import numpy as np


#  print함수 사용 예제 (적은 데이터 활용)

In[8]: ex1 = pd.DataFrame(np.random.rand(4,4))

In[9]: print(ex1)

          0         1         2         3

0  0.373452  0.861502  0.106552  0.377780

1  0.174860  0.774683  0.029248  0.290949

2  0.218403  0.399337  0.715188  0.820216

3  0.969435  0.443268  0.143214  0.324019


#  print함수 사용 예제 (큰 데이터 활용)

In[10]: ex2= pd.DataFrame(np.random.rand(100,50))

In[11]: print(ex2)

          0         1         2     ...           47        48        49

0   0.780697  0.460844  0.012190    ...     0.755231  0.134245  0.177439

1   0.468570  0.664213  0.962886    ...     0.850686  0.142774  0.743626

2   0.046648  0.093354  0.498765    ...     0.030663  0.576184  0.270322

3   0.373981  0.785062  0.949945    ...     0.573201  0.854105  0.670969

..       ...       ...       ...    ...          ...       ...       ...

96  0.160237  0.014541  0.583853    ...     0.834491  0.017187  0.887806

97  0.519112  0.274023  0.705606    ...     0.778304  0.778405  0.452969

98  0.206059  0.469950  0.453590    ...     0.250953  0.609927  0.642387

99  0.668650  0.935565  0.084224    ...     0.858568  0.538436  0.172970

[100 rows x 50 columns]



광대한 데이터를 출력하려 할 때 전부 다 출력하는 방법이 존재하긴 한다.

  ○ 이는 DataFrame.to_strint() 메서드를 같이 활용하면 된다.

  ○ 하지만 열과 행이 정확히 맞지 않는 경우도 더러 존재하므로 주의가 필요하다.


이외에 콘솔 디스플레이에서 출력되는 데이터를 조작할 수 있는 방안이 있긴하지만, 차후 기회가 되면 다뤄보도록 하겠다.

또다른 방법으로는 pandas의 IO기능을 이용하여 csv 파일이나 기타 형태의 파일로 출력하여 사용자가 직접 열어 확인하는 방법도 있다. 


 

 

 

 

 참고자료

  https://pandas.pydata.org/pandas-docs/stable/getting_started/basics.html  

  https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.head.html

  https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.tail.html

  https://pandas.pydata.org/pandas-docs/stable/getting_started/dsintro.html    

 

 

 

 



반응형

댓글