
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
수고가 많으십니다.
3주-5강 관련 질문 입니다.
[질문1]
아래 두 줄의 코드를 보면, 대괄호를 넣든지 안넣든지 결과 값은 동일한데, 그 이유를 좀 알고 싶은데,
이해에 도움이 되도록 tip을 주실 수 있을까요?
# area_info = area_info.drop_duplicates(['area'])
area_info = area_info.drop_duplicates('area')
# area_info = area_info.sort_values(by= ['area'], ascending = [True])
area_info = area_info.sort_values(by= 'area', ascending = True)
[질문2]
아래 와 같이 pd.DataFrame() 제외 시 와의 차이가 무엇인지? 표형식으로의 출력 여부 차이 인 것인지?
(결과 출력이 좀 다름 - 결과는 표형식 아님 vs 표형식 으로 확인 됨)
# number_of_students = sparta_data.groupby('area')['user_id'].count()
number_of_students = pd.DataFrame(sparta_data.groupby('area')['user_id'].count())
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
plt.rc('font', family='NanumBarunGothic')
sparta_data = pd.read_table('/content/students_area_detail.csv',sep=',')
sparta_data = sparta_data.dropna()
sparta_data.head()
# set : 중복된 값을 없애고 유니크한 값만 남기는 기능 (하나의 열 데이터를 가공할때 사용)
# len : 리스트에 들어가 있는 원소 개수, 즉 리스트의 크기를 알려주는 기능
category_range = set(sparta_data['area'])
print(category_range, len(category_range))
# 새로운 테이블 '자체'를 만들고자 할 땐 기존의 테이블에서 필요한 "열의 이름"을 대괄호에 넣어 변수에 지정
area_info = sparta_data[['area', 'latitude', 'longitude']]
# drop_duplicates()을 이용하면, area(지역) 컬럼의 중복 데이터를 처리 할 수 있다
# area_info = area_info.drop_duplicates(['area']) <- []대괄호 넣든지 안넣든지 결과 값 동일 이유??
area_info = area_info.drop_duplicates('area')
# `.sort_values`를 통해 지정 값을 기준으로 레이블을 정렬
# `by=[”정렬 기준이 될 레이블”]`
# `ascending=[True]` :True 면 오름차순, False면 내림차순
# area_info = area_info.sort_values(by= ['area'], ascending = [True]) <- []대괄호 넣든지 안넣든지 결과 값 동일 이유??
area_info = area_info.sort_values(by= 'area', ascending = True)
area_info = area_info.reset_index()
area_info
# number_of_students = sparta_data.groupby('area')['user_id'].count() 에서 처럼 pd.DataFrame 제외 시 와의 차이가 무엇인지?
(결과 출력이 좀 다름) - 결과는 표형식 vs 표형식 아님 으로 확인 됨
number_of_students = pd.DataFrame(sparta_data.groupby('area')['user_id'].count())
number_of_students
# pd.merge()를 이용하여, 두 테이블을 병합, 'area'를 기준으로 병합
result = pd.merge(area_info, number_of_students, on = 'area')
result
