- 서울시 구별 CCTV 현황 데이터: data.seoul.go.kr
- 당연히 인구 현황 데이터: 서울 열린 데이터 광장 - 데이터 이용하기 - 오픈 API 서비스
경로에 있는 csv 파일을 가져와 읽는다.
CCTV_Seoul = pd.read_csv("../data/01. Seoul_CCTV.csv", encoding="utf-8")
데이터의 컬럼명을 리스트 형태로 반환
즉, 인덱스로 하나하나 데이터를 가져올 수 있다.
컬럼명 변경
CCTV_Seoul.rename(columns={CCTV_Seoul.columns[0]: "구별"})
CCTV_Seoul.rename(columns={CCTV_Seoul.columns[0]: "구별"}, inplace="True")
경로에 있는 excel 파일을 가져와 읽는다.
pop_Seoul = pd.read_excel("../data/01. Seoul_Population.xls")
pop_Seoul = pd.read_excel(
"../data/01. Seoul_Population.xls", header=2, usecols="B, D, G, J, N"
)
pop_Seoul.head()
header = 2
: 2줄(0,1)빼고 2번째 줄부터 가져와라.usecols='B, D, G, J, N'
: B, D, G, J, N 컬럼 데이터만 가져와라 컬럼명 변경
pop_Seoul.rename(
columns={
pop_Seoul.columns[0]: "구별",
pop_Seoul.columns[1]: "인구수",
pop_Seoul.columns[2]: "한국인",
pop_Seoul.columns[3]: "외국인",
pop_Seoul.columns[4]: "고령자",
},
inplace=True
)
pop_Seoul.head()
소계 컬럼 기준, 오름차순 정렬(디폴트), 상위 5개 선택
CCTV_Seoul.sort_values(by="소계", ascending=True).head(5)
소계 컬럼 기준, 내림차순 정렬, 상위 5개 선택
CCTV_Seoul.sort_values(by="소계", ascending=False).head(5)
# 기존 컬럼이 없으면 추가, 있으면 수정
CCTV_Seoul["최근증가율"] = (
(CCTV_Seoul["2016년"] + CCTV_Seoul["2015년"] + CCTV_Seoul["2014년"]) / CCTV_Seoul["2013년도 이전"] * 100
)
CCTV_Seoul.sort_values(by="최근증가율", ascending=False).head(5)
pop_Seoul.drop([0], axis=0, inplace=True)
pop_Seoul.head()
중복 없이 고유한 데이터가 어떤 것인지 나타남
pop_Seoul["구별"].unique()
len(pop_Seoul["구별"].unique())
# 외국인 비율, 고령자 비율
pop_Seoul["외국인비율"] = pop_Seoul["외국인"] / pop_Seoul["인구수"] * 100
pop_Seoul["고령자비율"] = pop_Seoul["고령자"] / pop_Seoul["인구수"] * 100
pop_Seoul.head()
인구수가 많은 구 내림차순 정렬
pop_Seoul.sort_values(["인구수"], ascending=False).head()
외국인이 많은 구 내림차순 정렬
pop_Seoul.sort_values(["인구수"], ascending=False).head()
외국인비율이 많은 구 내림차순 정렬
pop_Seoul.sort_values(["외국인비율"], ascending=False).head()
고령자가 많은 구 내림차순 정렬
pop_Seoul.sort_values(["고령자"], ascending=False).head()
고령자비율이 많은 구 내림차순 정렬
pop_Seoul.sort_values(["고령자비율"], ascending=False).head()
data_result = pd.merge(CCTV_Seoul, pop_Seoul, on="구별")
data_result.head()
- del
- drop
del 데이터["지우고 싶은 데이터 컬럼명"]
del data_result["2013년도 이전"]
data_result.head()
del data_result["2014년"]
data_result.head(3)
데이터.drop(["지우고 싶은 데이터 컬럼명"], axis=1)
데이터.drop(["지우고 싶은 인덱스"], axis=0)
💡즉시 지우려면 inplace=True 추가
data_result.drop(["2015년", "2016년"], axis=1, inplace=True)
data_result.head()
data_result.set_index("구별", inplace=True)
data_result.head()
data_result.corr()
data_result["CCTV비율"] = data_result["소계"] / data_result["인구수"]
data_result["CCTV비율"] = data_result["CCTV비율"] * 100
data_result.head()
data_result.sort_values(by="CCTV비율", ascending=False).head()
data_result.sort_values(by="CCTV비율", ascending=True).head()
"이 글은 제로베이스 데이터 취업 스쿨 강의 자료 일부를 발췌한 내용이 포함되어 있습니다."