코드
# 1. 연도별 총 승객 수
passenger_year = flights_data[['year', 'passengers']].groupby('year').sum()
passenger_year
plt.plot(flights_data.groupby('year')['passengers'].sum(), marker='o')
plt.title('연도별 총 승객 수')
plt.xlabel('Year')
plt.ylabel('Total Passengers')
plt.grid(True)
plt.show()

코드
# 2. 연도별 평균 승객 수
passenger_year_avg = flights_data[['year', 'passengers']].groupby('year').mean()
passenger_year_avg
plt.bar(flights_data['year'].unique(), flights_data.groupby('year')['passengers'].mean())
plt.title('연도별 평균 승객 수')
plt.xlabel('Year')
plt.ylabel('Avg Passengers')
plt.show()

코드
# 3. 승객 수 분포
plt.hist(flights_data['passengers'], bins=20, edgecolor='black')
# passenger_year.hist(bins=50, color='skyblue')
plt.xlabel('Passengers')
plt.ylabel('Frequency')
plt.title('승객 수 분포')
plt.show()

코드
# Scatter plot: 연도별 승객 수와 월간 승객 수
plt.figure(figsize=(10, 6))
for month in flights_data['month'].unique():
plt.scatter(flights_data[flights_data['month'] == month]['year'], # x축
flights_data[flights_data['month'] == month]['passengers'], # y축
label=month, alpha=0.7)
plt.title('Passengers per Year by Month')
plt.xlabel('Year')
plt.ylabel('Passengers')
plt.legend()
plt.show()
flights_data['month'] == month 는 데이터프레임에서 month 열의 각 원소에 대해 비교 수행for month in flights_data['month'].unique(): 를 통해 각 월에 대한 루프를 돌면서, 각 월에 해당하는 행들을 추출
코드
# Box plox : 월별 승객 수 분포
plt.boxplot([flights_data[flights_data['month']== month]['passengers'] for month in flights_data['month'].unique()],
labels=flights_data['month'].unique())
plt.title('월별 승객 수 분포')
plt.xlabel('Month')
plt.ylabel('Passengers')
plt.show()

코드
# 1. 요일별 팁 금액의 평균
tips_date = tips_data.groupby('day')['tip'].mean()
plt.plot(tips_date.index, tips_date.values, marker='o', color='blue')
plt.grid(True)
plt.title('Average Tips by Day')
plt.xlabel('Day of the Week')
plt.ylabel('Average Tip Amount')
plt.show()

코드
# Bar plot: 요일별 총 팁 금액
plt.figure(figsize=(8, 6))
total_tips = tips_data.groupby('day')['tip'].sum()
plt.bar(total_tips.index, total_tips.values, color='skyblue')
plt.title('Total Tips by Day')
plt.xlabel('Day of the Week')
plt.ylabel('Total Tip Amount')

코드
# 3. 식사 금액 분포
plt.hist(tips_data['total_bill'], bins=15)
plt.title('Distribution of Total Bill')
plt.xlabel('Total Bill Amount')
plt.ylabel('Frequency')
plt.show()

코드
# 4. 식사 금액과 팁 금액의 관계
plt.scatter(tips_data['total_bill'], tips_data['tip'],color='orange', alpha=0.7)
plt.xlabel('Total Bill Amount')
plt.ylabel('Tip Amount')
plt.title('Tip Amount vs Total Bill')
plt.show()

코드
# 5. 요일별 식사 금액 분포
sns.boxplot(x='day', y='total_bill', data=tips_data, palette='Set3')
plt.title('Total Bill Distribution by Day')
plt.xlabel('Day of the Week')
plt.ylabel('Total Bill Amount')
plt.show()
