📖 Visualization
Data Read
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
sns.set_style("white")
💭 Q114. 'Unnamed: 0' Column을 삭제
del df['Unnamed: 0']
df.head()
histplot() , jointplot() , pairplot()
💭 Q115. total_bill에 대해서 히스토그램을 그리시오
ttbill = sns.histplot(df.total_bill);
ttbill.set(xlabel = 'Value', ylabel = 'Frequency', title = "Total Bill");
💭 Q116. total_bill과 tip에 대해서 jointplot을 그리시오
sns.jointplot(x ="total_bill", y ="tip", data = df);
💭 Q117. 모든 연속성 변수에 대해서 pairplot을 그리시오
sns.pairplot(df);
stripplot()
💭 Q118. day에 따라 total_bill의 관계를 파악하기 위한 stripplot을 그리시오
sns.stripplot(x = "day", y = "total_bill", data = df);
hue='day' : 범주에 컬러를 각각 다르게 주기
sns.stripplot(x = "day", y = "total_bill", data = df, hue='day');
💭 Q119. day와 성별에 따라 tip의 관계를 파악하기 위한 stripplot을 그리시오
sns.stripplot(x = "tip", y = "day", hue = "sex", data = df);
boxplot
💭 Q120. day와 time에 따라 total_bill의 관계를 파악하기 위한 boxplot을 그리시오
- x축 - day , y축 - total_bill
sns.boxplot(x = "day", y = "total_bill", hue = "time", data = df);
Two Histogram
💭 Q121. 저녁(Dinner)과 점심(Lunch)을 기준으로 한 팁 값에 대해 두 개의 히스토그램을 생성
sns.set(style = "ticks")
plt.grid(True)
g = sns.FacetGrid(df, col = "time")
g.map(plt.hist, "tip");
FacetGrid()
💭Q121. 남성과 여성을 대상으로 한 두 개의 산점도 그래프를 생성한 후 이 그래프들은 전체 청구 금액(total_bill)과 팁(tip) 간의 관계를 보여주며, 흡연자와 비흡연자로 구분
alpha : 투명도
add_legend() : 범례를 나타내기 위한 함수
g = sns.FacetGrid(df, col = "sex", hue = "smoker")
g.map(plt.scatter, "total_bill", "tip", alpha =.7)
g.add_legend();
💭 Q122. PassengerId를 인덱스로 설정
df.set_index('PassengerId', inplace=True)
df.head()
pie chart
💭 Q123. 남성과 여성의 비율을 나타내는 파이 차트를 생성
males = (df['Sex'] == 'male').sum()
females = (df['Sex'] == 'female').sum()
proportions = [males, females]
plt.pie(
proportions,
labels = ['Males', 'Females'],
shadow = False,
colors = ['blue','red'],
explode = (0.15 , 0),
startangle = 90,
autopct = '%1.1f%%'
)
plt.axis('equal')
plt.title("Sex Proportion")
plt.tight_layout()
plt.show()
산점도
💭 Q124. 지불한 요금(Fare)과 나이(Age)를 나타내는 산점도를 생성
- 조건 : 그래프의 색상은 성별에 따라 다르게 함
fit_reg=False : 회귀선 보이지 않음
fit_reg=True : 회귀선 보임
xlim / ylim : 각 축의 값의 경계를 지정합니다.
lm = sns.lmplot(x = 'Age', y = 'Fare', data = df, hue = 'Sex', fit_reg=False)
lm.set(title = 'Fare x Age')
axes = lm.axes
axes[0,0].set_ylim(-5,)
axes[0,0].set_xlim(-5,85)
Histogram - hist()
💭 Q125. 지불한 요금(Fare)에 대한 히스토그램을 생성
import numpy as np
df2 = df.Fare.sort_values(ascending = False)
binsVal = np.arange(0,600,10)
binsVal
plt.hist(df3, bins = binsVal)
plt.xlabel('Fare')
plt.ylabel('Frequency')
plt.title('Fare Payed Histrogram')
plt.show()