3장 - 데이터 살펴보기
mpg(csv)파일을 불러오자.
import pandas as pd
df = pd.read_csv('C:\\Users\\woghk\\AppData\\Local\\Microsoft\\WindowsApps\/auto-mpg.csv', header = None)
df.columns = ["mpg","cylinders",'displacement','horsepower','weight','acceleration','model year','origin','name']
print(df.head()) # head()는 데이터의 상단부분만 노출!!!
# tail()은 데이터의 하단부분만 노출!
print('\n')
print(df.tail())
print(df.shape) # . shape 은 데이터의 행x열 개수를 반환한다.
# Data Frame의 기본 정보 = info() 함수 사용
print(df.info())
# Data Frame의 각 열이 어떤 자료형인지 볼 수 있다. . dtypes를 통해서
# info안에 포함되어 있음.
print(df.dtypes)
# describe 기술정보
print(df.describe())
print('\n')
print(df.describe(include='all'))
결과값
mpg cylinders displacement horsepower weight acceleration model year \
0 18.0 8 307.0 130 3504 12.0 70
1 15.0 8 350.0 165 3693 11.5 70
2 18.0 8 318.0 150 3436 11.0 70
3 16.0 8 304.0 150 3433 12.0 70
4 17.0 8 302.0 140 3449 10.5 70
origin name
0 1 chevrolet chevelle malibu
1 1 buick skylark 320
2 1 plymouth satellite
3 1 amc rebel sst
4 1 ford torino
mpg cylinders displacement horsepower weight acceleration \
393 27.0 4 140.0 86 2790 15.6
394 44.0 4 97.0 52 2130 24.6
395 32.0 4 135.0 84 2295 11.6
396 28.0 4 120.0 79 2625 18.6
397 31.0 4 119.0 82 2720 19.4
model year origin name
393 82 1 ford mustang gl
394 82 2 vw pickup
395 82 1 dodge rampage
396 82 1 ford ranger
397 82 1 chevy s-10
(398, 9)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 398 entries, 0 to 397
Data columns (total 9 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 mpg 398 non-null float64
1 cylinders 398 non-null int64
2 displacement 398 non-null float64
3 horsepower 398 non-null object
4 weight 398 non-null int64
5 acceleration 398 non-null float64
6 model year 398 non-null int64
7 origin 398 non-null int64
8 name 398 non-null object
dtypes: float64(3), int64(4), object(2)
memory usage: 28.1+ KB
None
mpg float64
cylinders int64
displacement float64
horsepower object
weight int64
acceleration float64
model year int64
origin int64
name object
dtype: object
mpg cylinders displacement weight acceleration \
count 398.000000 398.000000 398.000000 398.000000 398.000000
mean 23.514573 5.454774 193.425879 2970.424623 15.568090
std 7.815984 1.701004 104.269838 846.841774 2.757689
min 9.000000 3.000000 68.000000 1613.000000 8.000000
25% 17.500000 4.000000 104.250000 2223.750000 13.825000
50% 23.000000 4.000000 148.500000 2803.500000 15.500000
75% 29.000000 8.000000 262.000000 3608.000000 17.175000
max 46.600000 8.000000 455.000000 5140.000000 24.800000
model year origin
count 398.000000 398.000000
mean 76.010050 1.572864
std 3.697627 0.802055
min 70.000000 1.000000
25% 73.000000 1.000000
50% 76.000000 1.000000
75% 79.000000 2.000000
max 82.000000 3.000000
mpg cylinders displacement horsepower weight \
count 398.000000 398.000000 398.000000 398 398.000000
unique NaN NaN NaN 94 NaN
top NaN NaN NaN 150 NaN
freq NaN NaN NaN 22 NaN
mean 23.514573 5.454774 193.425879 NaN 2970.424623
std 7.815984 1.701004 104.269838 NaN 846.841774
min 9.000000 3.000000 68.000000 NaN 1613.000000
25% 17.500000 4.000000 104.250000 NaN 2223.750000
50% 23.000000 4.000000 148.500000 NaN 2803.500000
75% 29.000000 8.000000 262.000000 NaN 3608.000000
max 46.600000 8.000000 455.000000 NaN 5140.000000
acceleration model year origin name
count 398.000000 398.000000 398.000000 398
unique NaN NaN NaN 305
top NaN NaN NaN ford pinto
freq NaN NaN NaN 6
mean 15.568090 76.010050 1.572864 NaN
std 2.757689 3.697627 0.802055 NaN
min 8.000000 70.000000 1.000000 NaN
25% 13.825000 73.000000 1.000000 NaN
50% 15.500000 76.000000 1.000000 NaN
75% 17.175000 79.000000 2.000000 NaN
max 24.800000 82.000000 3.000000 NaN
info()shapedtypes()describe()등등 이 있다..
+ 데이터 개수 확인 + ( value_counts() )
# df.count()함수 : 각 열의 데이터 개수를 반환한다. (유효한 데이터만)
print(df.count())
print('\n')
# df.count()가 반환하는 객체 타입도 출력한다. type(): 객체의 타입
print(type(df.count()))
# value_counts() 함수는 데이터 각 열의 고유값의 종류와 개수를 확인함 dropna=True를 더하면 Nan데이터 제외
unique_values = df["origin"].value_counts()
print(unique_values)
print('\n')
print(type(unique_values))
결과값
mpg 398
cylinders 398
displacement 398
horsepower 398
weight 398
acceleration 398
model year 398
origin 398
name 398
dtype: int64
<class 'pandas.core.series.Series'>
1 249
3 79
2 70
Name: origin, dtype: int64
<class 'pandas.core.series.Series'>
각 열의 고유값 개수 = value_counts()