DataFrame Data 살펴보기

DataFrame 구조

DataFrame 정보 확인하기

  • 앞,뒤 부분 데이터 미리보기

df.head(n)
df.tail(n)

첫 n행과 마지막 n행을 출력하고 내용과 구조를 살펴볼 수 있다. 이때 n을 입력하지 않으면 default 5행을 출력한다.

>>> print(df.head(6))
    mpg  cylinders  displacement horsepower  weight  acceleration  model year  origin                         name
0  18.0          8         307.0      130.0    3504          12.0          70       1  "chevrolet chevelle malibu"
1  15.0          8         350.0      165.0    3693          11.5          70       1          "buick skylark 320"
2  18.0          8         318.0      150.0    3436          11.0          70       1         "plymouth satellite"
3  16.0          8         304.0      150.0    3433          12.0          70       1              "amc rebel sst"
4  17.0          8         302.0      140.0    3449          10.5          70       1                "ford torino"
5  15.0          8         429.0      198.0    4341          10.0          70       1           "ford galaxie 500"
>>> print(df.tail())
      mpg  cylinders  displacement horsepower  weight  acceleration  model year  origin               name
393  27.0          4         140.0      86.00    2790          15.6          82       1  "ford mustang gl"
394  44.0          4          97.0      52.00    2130          24.6          82       2        "vw pickup"
395  32.0          4         135.0      84.00    2295          11.6          82       1    "dodge rampage"
396  28.0          4         120.0      79.00    2625          18.6          82       1      "ford ranger"
397  31.0          4         119.0      82.00    2720          19.4          82       1       "chevy s-10"

요약 정보 확인하기

  • DataFrame의 크기(행, 열)

df에 저장된 DataFrame의 크기(행의 개수, 열의 개수)를 확인할 수 있다.

  • DataFrame의 기본 정보

클래스 유형, 행 인덱스의 구성, 열 이름의 종류와 수, 각 열의 자료형과 개수, 메모리 할당량에 대한 기본 정보를 출력한다.

  • 열의 자료형 확인

  • 기술 통계 정보 요약

산술 데이터를 갖는 열에 대한 주요 기술 통계 정보(평균, 표준편차, 최대값, 최소값, 중간값 등)를 요약 출력한다.

만약 산술 데이터가 아닌 열에 대한 정보를 포함하고 싶을 떄는 include='all' 옵션을 추가하면된다.

문자열 데이터가 들어가 있는 열의 unique(고유값 개수), top(최빈값), freq(빈도수) 정보가 추가된다.

데이터 개수 확인

  • 각 열의 데이터 수

각 열이 가지고 있는 데이터 개수를 Series 객체로 반환한다. 이때 유효한 값의 개수만을 계산하는 점을 주의해야한다.

  • 각 열의 고유값 수

Series 객체의 고유값 개수를 세는데 사용한다.

dropna=True 옵션을 설정하면, 데이터 값 중에서 NaN을 제외한 개수를 계산한다.

통계 함수

전체 열 메소드

특정 열 메소드

평균값

df.mean()

df["열 이름"].mean()

중간값

df.median()

df["열 이름"].median()

최대값

df.max()

df["열 이름"].max()

최소값

df.min()

df["열 이름"].min()

표준편차

df.std()

df["열 이름"].std()

상관계수

df.corr()

df[열 이름 리스트].corr()

평균값

중간값

최대값

산술 데이터를 가진 열에 대해서는 가장 큰 숫자를 찾아서 최대값으로 반환한다. 문자열 데이터를 가진 열에 대해서는 문자열을. ASCII 숫자로 변환해 크고 작음을 비교한다.

최소값

산술 데이터를 가진 열에 대해서는 가장 작은 숫자를 찾아서 최소값으로 반환한다. 문자열 데이터를 가진 열에 대해서는 문자열을. ASCII 숫자로 변환해 크고 작음을 비교한다.

표준편차

산술 데이터를 갖는 열의 표준편차를 계산해 Series 객체로 변환한다.

표준 편차 {\displaystyle \sigma _{X}}

로 정의된다.

표준 편차는 자료의 산포도를 나타내는 수치로, 분산의 양의 제곱근으로 정의한다.

위키피디아

상관계수

corr()는 두 열 간의 상관계수를 계산한다. 산술 데이터를 갖는 모든 열에 대해 2개씩 서로 짝을 짓고, 각각의 경우에 대해 상관계수를 계산한다.

상관계수란? 두 변수 x,y 사이의 상관관계의 정도를 나타내는 수치이다.

  1. 상관계수 r은 항상 -1과 1 사이에 있다.

  2. 상관계수의 절대값의 크기는 직선관계에 가까운 정도를 나타내고, 부호는 직선관계의 방향을 나타낸다. 상관계수의 절대값이 클수록, 즉 상관계수의 값이 1 또는 -1에 가까울 수록 두 변수 사이의 연관성이 크고, 0에 가까울 수록 매우 약함을 의미한다. 1. r > 0 - 양의 상관관계 : 산점도에서 점들이 우상향방향으로 띠를 형성한다. 즉, 한 변수의 값이 작으면 다른 변수의 값도 작고, 한 변수의 값이 크면 다른 변수의 값도 크다. 이러한 경향을 하나의 직선으로 나타냈을 때 그 직선의 기울기는 양수가 된다. 2. r < 0 - 음의 상관관계 : 산점도에서 점들이 우하향방향으로 띠를 형성한다. 즉, 한 변수의 값이 작으면 다른 변수의 값은 크다. 이러한 경향을 하나의 직선으로 나타냈을 때 그 직선의 기울기는 음수가 된다. 3. r = +1 : 모든 점이 정확히 기울기가 양수인 직선 위에 위치한다. 4. r = -1 : 모든 점이 정확히 기울기가 음수인 직선 위에 위치한다.

  3. 상관계수의 단위는 없다. 따라서 단위가 다른 여러 쌍의 변수에서 직선관계의 정도를 비교할 수 있다.

  4. 출처 : 슈퍼짱짱

내장 그래프 도구

그래프를 이용한 시각화 방법은 데이터의 분포와 패턴을 파악하는데 크게 도움이 된다. Pandas는 matplotlib 라이브러리의 기능을 일부 내장하고 있어, 별도로 import를 하지 않고도 간단한 그래프를 그릴 수 있다.

Series 혹은 DataFrame 객체에 plot() 메소드를 적용해 그래프를 그릴 수 있으며, kind 옵션으로 그래프 종류를 선택할 수 있다.

kind option

설명

kind option

설명

line

선 그래프(default)

kde

커널 밀도 그래프

bar

수직 막대 그래프

area

면적 그래프

barh

수평 막대 그래프

pie

파이 그래프

his

히스토그램

scatter

산점도 그래프

box

박스 플롯

hexbin

고밀도 산점도 그래프

선 그래프

mac terminer에서 plot() 으로 그래프를 그려도 다음과 같이 보여지지 않는다.

이때는 matplotlib.pyplot 을 import하고 show()메소드로 보이게 할 수 있다.

image-20200506140022407

시간의 흐름에 따른 연도별 발전량 변화 추이를 보기 위해서는 연도 값을 x축에 표시하는 것이 적절하다. 행렬을 전치하여 변경할 수 있다.

image-20200506141420617

막대 그래프

image-20200506141537932

히스토그램

히스토그램의 x축은 발전량을 일정한 간격을 갖는 여러 구간으로 나눈 것이며, y축은 연간 발전량이 x축에서 나눈 발전량 구간에 속하는 연도의 수를 빈도로 나타낸 것이다.

image-20200506141810796

산점도

image-20200506143324513

x축(weight)과 y축(mpg)의 관계는 차량의 무게가 클수록 mpg(연비)가 전반적으로 낮아지는 경향을 보이며, 역 상관관계를 갖는다고 해석할 수 있다.

박스 플롯

박스 플롯은 특정 변수의 데이터 분포와 분산 정도에 대한 정보를 제공한다.

image-20200506143819819

각 변수들의 데이터가 퍼져있는 정도를 확인할 때 사용한다.

참고

Last updated

Was this helpful?