Task : 과정 정리
[분류]
도심
외곽
(
외곽 & 공유실)
실행 및 진행 사항 정리
[분류]
도심
도심 & 전체실 시현
코드보기
도심 & 개인실 영은
코드보기
코드보기
외곽
코드보기
코드보기
코드보기
결과
조합 상위 25% 숙소 수
0 도심 & Entire home/apt 2856
1 도심 & Private room 1813
2 도심 & Shared room 92
3 외곽 & Entire home/apt 2228
4 외곽 & Private room 2602
5 외곽 & Shared room 119
조합 하위 25% 숙소 수
0 도심 & Entire home/apt 2856
1 도심 & Private room 1813
2 도심 & Shared room 92
3 외곽 & Entire home/apt 2228
4 외곽 & Private room 2602
5 외곽 & Shared room 119
조합 | 상위 25% 중 예약 가능일 0일 | 하위 25% 중 예약 가능일 0일 |
도심 & Entire home/apt | 174 | 2282 |
도심 & Private room | 151 | 1521 |
도심 & Shared room | 5 | 65 |
외곽 & Entire home/apt | 71 | 1656 |
외곽 & Private room | 166 | 1860 |
외곽 & Shared room | 6 | 43 |
# 조합 정의
combinations = [
('도심', 'Entire home/apt'),
('도심', 'Private room'),
('도심', 'Shared room'),
('외곽', 'Entire home/apt'),
('외곽', 'Private room'),
('외곽', 'Shared room'),
]
results = []
# 각 조합별로 상/하위 25%에서 예약 가능일 0인 숙소 수 세기
for region, room in combinations:
cond = (df_filtered['city_and_suburb'] == region) & (df_filtered['room_type'] == room)
subset = df_filtered[cond]
if len(subset) < 10:
continue # 데이터 수 너무 적은 조합은 스킵
q75 = subset['popularity_score'].quantile(0.75)
q25 = subset['popularity_score'].quantile(0.25)
top = subset[(subset['popularity_score'] >= q75) & (subset['availability_365'] == 0)]
bottom = subset[(subset['popularity_score'] <= q25) & (subset['availability_365'] == 0)]
results.append({
'조합': f"{region} & {room}",
'상위 25% 중 예약 가능일 0일': len(top),
'하위 25% 중 예약 가능일 0일': len(bottom)
})
# 데이터프레임으로 변환
grouped_avail_zero = pd.DataFrame(results)
grouped_avail_zero
Python
복사
.png&blockId=21b2dc3e-f514-818b-b72b-f9aade6351bf)
