👨🏫
데이터프레임의 특정 열에 접근하는 가장 쉬운 방법은
데이터프레임의 이름.열의 이름
과 같은 방식으로 접근하는 것입니다. 다시 말해, 데이터프레임의 이름을 적고, 온점을 찍은 후에 열의 이름을 적으면 해당 열만을 불러옵니다.
# beer_servings 열에 접근
drink_df.beer_servings
>>>>>>>>>>>>>>>>>결과>>>>>>>>>>>>
0 0
1 89
2 25
3 245
4 217
...
188 333
189 111
190 6
191 32
192 64
Name: beer_servings, Length: 193, dtype: int64
또 다른 방법은
데이터프레임의 이름['해당 열의 이름']과 같은 방법입니다.
이는 위와 동일한 결과를 출력합니다.# 또 다른 방법 drink_df['beer_servings'] >>>>>>>>>>>>>>>>결과>>>>>>>>>>>> 0 0 1 89 2 25 3 245 4 217 ... 188 333 189 111 190 6 191 32 192 64 Name: beer_servings, Length: 193, dtype: int64
2차원 테이블 형태를 데이터프레임이라고 부르지만, 이렇게 특정 하나의 열만을 불러올 경우에는 데이터프레임이 아니라 데이터 타입이 판다스(Pandas)에서 제공하는 또 다른 데이터 타입인 '시리즈(Series)'가 됩니다. 실제로 특정 열만 불러오고 타입을 확인해볼까요?
# 컬럼의 타입 확인
type(drink_df.beer_servings)
>>>>>>>>>>>>>>>>>>
pandas.core.series.Series
만약 하나의 열이 아니라 선택적으로 다수의 열에 접근려면 어떻게 하면 될까요?
데이터프레임의 이름[['특정열의 이름1', '특정열의 이름2']]
와 같은 방식으로 접근하면 됩니다. 예를 들어서 beer_servings과 wine_servings 2개의 열만을 불러오고 싶다고 해봅시다.
drink_df[['beer_servings','wine_servings']]

두 개의 열만이 뽑힌 데이터프레임이 출력됩니다.
👨🏫 파이썬의 list 변수 형태로 만든 뒤에 그것을 명시하는 형태로도 출력 가능.
['특정 열의 이름1', '특정 열의 이름2'] 은 파이썬 리스트 형태입니다.
다시 말해 파이썬 리스트의 형태로 열의 이름을 나열한 뒤에
데이터프레임의 이름[열의 이름이 나열된 파이썬 리스트]
를 사용해도 동일한 결과를 출력합니다.cols = ['beer_servings','wine_servings'] drink_df[cols]
info()는 데이터프레임의 전반적인 정보를 보여줍니다. info() 사용하고, info()를 통해 알 수 있는 정보들을 최대한 정리해봅시다.
drink_df.info()
>>>>>>>>>>>실행 >>>>>>>>>>
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 193 entries, 0 to 192
Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 country 193 non-null object
1 beer_servings 193 non-null int64
2 spirit_servings 193 non-null int64
3 wine_servings 193 non-null int64
4 total_litres_of_pure_alcohol 193 non-null float64
5 continent 170 non-null object
dtypes: float64(1), int64(3), object(2)
memory usage: 9.2+ KB
info()를 통해 다음과 같은 정보를 알 수 있습니다.
해당 데이터는 다음과 같은 열들을 가지고 있습니다.
👨🏫
- Non-Null 이라는 것은 비어있지 않다는 뜻이다.
- 특성(feature): 원하는 결과가 있을때, 그 결과를 도출해 내기위한 특성이다.
머신 러닝 용어로는 데이터를 파악하기 위한 이러한 열을 특성(feature)이라고 부릅니다.
즉, 총 6개의 특성이 있는 셈입니다.
info()의 출력 결과로부터 총 193개의 데이터가 존재하며, contry, continet 데이터의 경우에는 object. 데이터프레임에서 object는 문자열을 의미합니다. 그 외에는 정수형 데이터(int64) 또는 실수형 데이터(float 64)로 구성되어져 있음을 알 수 있습니다.
또 하나 주목할 점은 데이터의 총 개수는 193개인데, Non-Null Count를 보면 continent의 경우에만 170개가 있습니다.
이는 Null 데이터. 다시 말해 결측 데이터가 23개 존재한다는 것을 의미합니다.
👨🏫 결측치를 제거해줘야 올바르게 분석하는 경우가 있다.