오늘의 퀘스트는 Titanic table을 통해 다음과 같은 데이터를 뽑아내는 것이다. 과연 할 수 있을 것인가?

1.

2.

3.

4.

5.

테이블 구조는 다음과 같다. 한글은 적절한 글자크기를 인식 못하는지, 자꾸 박스 틀을 깨버리는데, 해결 방법이 없는 것 같다.


셀프 물음
1.
4일동안 가장 승차가 많은 정류소 top 10을 구하세요.
2.
4일동안 아침 7시에 승차가 많은 정류소 top 10을 구하세요.
3.
4일동안 승차인원 가장 적은 정류소 top 10을 구하세요.
4.
4월 28일 이용객이 가장 많은 버스 노선 top 10을 구하세요.
5.
4일간 봉선 37의 평균 하루 승차인원은 몇 명인지 구하세요.
6.
4월 29일 문흥 18의 시간대별 승차인원은 어떻게 됩니까?
여기서 멈추지 않고 matplotlib으로 시각화를 해보았습니다.
7.
(시각화) 봉선 37의 시간대별 이용객이 4일동안 어떻게 변했는가?
def make_plain_subplots():
fig, ax = plt.subplots()
list_x_1, list_y_1 = get_data_by_date_and_bus_no('봉선37', '20230427')
list_x_2, list_y_2 = get_data_by_date_and_bus_no('봉선37', '20230428')
list_x_3, list_y_3 = get_data_by_date_and_bus_no('봉선37', '20230429')
list_x_4, list_y_4 = get_data_by_date_and_bus_no('봉선37', '20230430')
ax.plot(list_x_1, list_y_1, label='427')
ax.plot(list_x_2, list_y_2, label='428')
ax.plot(list_x_3, list_y_3, label='429')
ax.plot(list_x_4, list_y_4, label='430')
ax.legend()
fig.suptitle('bus trend')
plt.show()
def get_data_by_date_and_bus_no(bus_name, date):
conn = sqlite3.connect("sample_bus_info_2.db")
c = conn.cursor()
list_x = list()
list_y = list()
result_list = c.execute("""
select measured_time, transaction_count from tb_bus where bus_name=(?) and date = (?) and boarding_type='승차' and bus_stop_id=5218
order by date asc;
""", (bus_name, date,)).fetchall()
for row in result_list:
list_x.append(row[0])
list_y.append(row[1])
conn.commit()
conn.close()
return list_x, list_y
또한 오후엔 OOP와 Class 에 대해 짧게 발표를 했습니다.
소수의 학우님들의 요청을 받아 소규모 그룹으로 진행할 예정이었습니다만, 통 크게 전체 학우들을 대상으로
발표를 하라고 교수님께서 시간을 내어주셨기 때문에, 열심히 정보전달을 위해 노력해보았습니다.
제가 아는 것을 남들이 알도록 설명시킨다는게 참 쉽지 않다는걸 다시 한번 느꼈습니다.
그래도 몇몇 학우님들께서 조금은 이해하는데 도움이 되었다고 긍정적인 피드백을 주셔서, 많은 용기와 보람이 되었습니다.
감사합니다.
'언어 > SQL or Database' 카테고리의 다른 글
Postgresql 강의 정리 [2023-07-04 학습일지] (0) | 2023.07.09 |
---|---|
SQL 공부하기 for 정보처리기사 실기 [2023-03-21 학습일지] (0) | 2023.05.28 |