url = 'https://raw.githubusercontent.com/justmarkham/DAT8/master/data/drinks.csv'
drink_df = pd.read_csv(url, ',')
판다스로 csv파일을 읽으면 df형식으로 반환됨
drink_df.head()
상위 5개 보여줌
drink_df.tail()
하위 5개 보여줌
type(drink_df) // 타입 확인
drink_df.sample(10) // 랜덤 10개 보여줌
df.index 인덱스 확인
# 각 컬럼의 타입 출력
drink_df.dtypes
타입을 출력해서 각 컬럼의 정보를 알아내야한다. 꼭 필요한 작업이다.
# 데이터프레임의 행과 열의 개수 출력
drink_df.shape
행과 열의 개수를 출력한다.
(행, 열)
cols = ['beer_servings','wine_servings']
drink_df[cols]
열 2개 출력한다.
하나출력할때는 1차원으로 사용해도 되지만, 2개 이상일때는 2차원으로 사용해야한다..
drink_df.info()를 사용하면 데이터의 피쳐값이 나온다. 예를들어
# 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 193 non-null object
이러한 shape로 나온다.
null값을 체크할때 사용한다. sum을 한번만 사용하면, 각 컬럼별 null값이 나오고,
2번 사용하면 2차원 데이터의 총 null값 개수가 나온다.
print(drink_df.isnull().sum())
drink_df.describe()
describe : 설명하다
말 그대로 df을 설명한다.

요렇게 나옴.
drink_df.beer_servings.describe() 이렇게하면
beer_servings열의 describe값만 나온다.
mean < 표준편차
max < 최대값
min < 최소값
sum < 합계
count < 개수
drink_df.continent=='EU'
continent가 EU인 데이터프레임을 검색// bool값으로 출력함. continent. 열만 나옴.
drink_df[drink_df.beer_servings <= 10]
drink_df의 beer_servings 열이 10이하인 drink_df의 모든 열을 출력함
drink_df[drink_df.beer_servings <= 10][['country','beer_servings']].head(20)
drink_df의 beer_servings 열이 10이하인 drink_df의 country, beer_servings 열을 출력함.
여기서도 2차원으로 입력된것을 볼 수 있음.
drink_df[drink_df.continent=='EU'].beer_servings.mean()
표준편차를 출력. 열은 beer_servings
drink_df[(drink_df.continent=='EU') & (drink_df.wine_servings > 300)]
continent=='EU' 이고 ,wine_servings > 300) 인 모든 열을 출력
&조건 물론 or 도있다 or은 |
drink_df[drink_df.total_litres_of_pure_alcohol == drink_df.total_litres_of_pure_alcohol.max()]['country']
drink_df.total_litres_of_pure_alcohol == drink_df.total_litres_of_pure_alcohol.max()
df의 total_litres_of_pure_alcohol이 최대값인 country열을 출력.
drink_df.sort_values('beer_servings')
정렬. 정렬은 오름차순이 기본임. 만약 내림차순으로 하려면
sort_values의 인자로 ascending=False를 추가
drink_df.sort_values(['beer_servings', 'wine_servings'])이렇게하면 두개의 열 기준으로 출력
corr = test_df.corr(method = 'pearson')
상관계수를 구하는 법.
corr 함수를 쓰면 됨
# 레이블의 폰트 사이즈를 조정
sns.set(font_scale=2.0)
test_heatmap = sns.heatmap(corr.values, # 데이터
cbar = False, # 오른쪽 컬러 막대 출력 여부 기본이 true
annot = True, # 차트에 숫자를 보여줄 것인지 여부
annot_kws={'size' : 20}, # 숫자 출력 시 숫자 크기 조절
fmt = '.2f', # 숫자의 출력 소수점자리 개수 조절
square = 'True', # 차트를 정사각형으로 할 것인지
yticklabels=column_names, # y축에 컬럼명 출력
xticklabels=column_names) # x축에 컬럼명 출력
plt.tight_layout() : 이건 원래, 현재 figure상에서 배치되어 있는 놈들의 공백을 적당하게 잘 배치해주는 거죠, 물론 여기서는 필수적으로 필요한 놈은 아닙니다.
plt.show() :
plt.show() 는 화면에 표시하는 기능을 하는데 Jupyter나 IPython을 사용할 때는 자동으로 표시되기 때문에 호출할 필요가 없다.