만약 산술 데이터가 아닌 열에 대한 정보를 포함하고 싶을 떄는 include='all' 옵션을 추가하면된다.
>>> df.describe(include='all')
mpg cylinders displacement horsepower weight acceleration model year origin name
count 398.000000 398.000000 398.000000 398 398.000000 398.000000 398.000000 398.000000 398
unique NaN NaN NaN 94 NaN NaN NaN NaN 305
top NaN NaN NaN 150.0 NaN NaN NaN NaN "ford pinto"
freq NaN NaN NaN 22 NaN NaN NaN NaN 6
mean 23.514573 5.454774 193.425879 NaN 2970.424623 15.568090 76.010050 1.572864 NaN
std 7.815984 1.701004 104.269838 NaN 846.841774 2.757689 3.697627 0.802055 NaN
min 9.000000 3.000000 68.000000 NaN 1613.000000 8.000000 70.000000 1.000000 NaN
25% 17.500000 4.000000 104.250000 NaN 2223.750000 13.825000 73.000000 1.000000 NaN
50% 23.000000 4.000000 148.500000 NaN 2803.500000 15.500000 76.000000 1.000000 NaN
75% 29.000000 8.000000 262.000000 NaN 3608.000000 17.175000 79.000000 2.000000 NaN
max 46.600000 8.000000 455.000000 NaN 5140.000000 24.800000 82.000000 3.000000 NaN
문자열 데이터가 들어가 있는 열의 unique(고유값 개수), top(최빈값), freq(빈도수) 정보가 추가된다.
데이터 개수 확인
각 열의 데이터 수
df.count()
각 열이 가지고 있는 데이터 개수를 Series 객체로 반환한다. 이때 유효한 값의 개수만을 계산하는 점을 주의해야한다.
>>> df.count()
mpg 398
cylinders 398
displacement 398
horsepower 398
weight 398
acceleration 398
model year 398
origin 398
name 398
dtype: int64
각 열의 고유값 수
df.["열 이름"].value_counts()
Series 객체의 고유값 개수를 세는데 사용한다.
dropna=True 옵션을 설정하면, 데이터 값 중에서 NaN을 제외한 개수를 계산한다.
상관계수의 절대값의 크기는 직선관계에 가까운 정도를 나타내고, 부호는 직선관계의 방향을 나타낸다. 상관계수의 절대값이 클수록, 즉 상관계수의 값이 1 또는 -1에 가까울 수록 두 변수 사이의 연관성이 크고, 0에 가까울 수록 매우 약함을 의미한다. 1. r > 0 - 양의 상관관계 : 산점도에서 점들이 우상향방향으로 띠를 형성한다. 즉, 한 변수의 값이 작으면 다른 변수의 값도 작고, 한 변수의 값이 크면 다른 변수의 값도 크다. 이러한 경향을 하나의 직선으로 나타냈을 때 그 직선의 기울기는 양수가 된다. 2. r < 0 - 음의 상관관계 : 산점도에서 점들이 우하향방향으로 띠를 형성한다. 즉, 한 변수의 값이 작으면 다른 변수의 값은 크다. 이러한 경향을 하나의 직선으로 나타냈을 때 그 직선의 기울기는 음수가 된다. 3. r = +1 : 모든 점이 정확히 기울기가 양수인 직선 위에 위치한다. 4. r = -1 : 모든 점이 정확히 기울기가 음수인 직선 위에 위치한다.
상관계수의 단위는 없다. 따라서 단위가 다른 여러 쌍의 변수에서 직선관계의 정도를 비교할 수 있다.
내장 그래프 도구
그래프를 이용한 시각화 방법은 데이터의 분포와 패턴을 파악하는데 크게 도움이 된다. Pandas는 matplotlib 라이브러리의 기능을 일부 내장하고 있어, 별도로 import를 하지 않고도 간단한 그래프를 그릴 수 있다.
Series 혹은 DataFrame 객체에 plot() 메소드를 적용해 그래프를 그릴 수 있으며, kind 옵션으로 그래프 종류를 선택할 수 있다.
kind option
설명
kind option
설명
line
선 그래프(default)
kde
커널 밀도 그래프
bar
수직 막대 그래프
area
면적 그래프
barh
수평 막대 그래프
pie
파이 그래프
his
히스토그램
scatter
산점도 그래프
box
박스 플롯
hexbin
고밀도 산점도 그래프
선 그래프
df.plot()
mac terminer에서 plot() 으로 그래프를 그려도 다음과 같이 보여지지 않는다.
>>> df_ns.plot()
<matplotlib.axes._subplots.AxesSubplot object at 0x10e9c5710>
이때는 matplotlib.pyplot 을 import하고 show()메소드로 보이게 할 수 있다.