CCTV_Seoul.sort_values(by="총계", ascending=True).head(5)
⇊
CCTV_Seoul.sort_values(by="총계", ascending=False).head(5)
⇊
CCTV_Seoul["최근 증가율"] = ((CCTV_Seoul["2022년"] + CCTV_Seoul["2021년"] + CCTV_Seoul["2020년"]) / CCTV_Seoul["2019년"] * 100)
CCTV_Seoul.sort_values(by="최근 증가율", ascending=False).head(5)
⇊
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()
⇊
행을 지우는 명령
pop_Seoul.drop([0], inplace=True)
pop_Seoul.head()
⇊
여러번 등장하는 걸 한번씩만 볼 수 있게 해줌
*데이터가 많아지면 unique를 이용하여 데이터를 초반 검증함
pop_Seoul["구별"].unique()
⇊
array(['종로구', '중구', '용산구', '성동구', '광진구', '동대문구', '중랑구', '성북구', '강북구',
'도봉구', '노원구', '은평구', '서대문구', '마포구', '양천구', '강서구', '구로구', '금천구',
'영등포구', '동작구', '관악구', '서초구', '강남구', '송파구', '강동구'], dtype=object)
len(pop_Seoul["구별"].unique())
⇊
25
pop_Seoul["외국인비율"] = pop_Seoul["외국인"] / pop_Seoul["인구수"] * 100
pop_Seoul["고령자비율"] = pop_Seoul["고령자"] / pop_Seoul["인구수"] * 100
pop_Seoul.head()
⇊
pop_Seoul.sort_values(by="인구수", ascending=False).head(5)
⇊
pop_Seoul.sort_values(by="외국인", ascending=False).head(5)
⇊
pop_Seoul.sort_values(by="고령자", ascending=False).head(5)
⇊
pop_Seoul.sort_values(by="고령자비율", ascending=False).head(5)
⇊
left = pd.DataFrame(
{
"key" : ["K0", "K4", "K2", "K3"],
"A" : ["A0", "A1", "A2", "A3"],
"B" : ["B0", "B1", "B2", "b3"]
}
)
right = pd.DataFrame(
{
"key" : ["K0", "K1", "K2", "K3"],
"C" : ["C0", "C1", "C2", "C3"],
"D" : ["D0", "D1", "D2", "D3"]
}
)
left
⇊
right
⇊
pd.merge(left, right, on="key")
⇊
pd.merge(left, right, how="left", on="key")
⇊
pd.merge(left, right, how="outer", on="key")
⇊
pd.merge(left, right, how="inner", on="key")
⇊
data_result = pd.merge(CCTV_Seoul, pop_Seoul, on="구별")
data_result.head()
⇊
del data_result['2019년']
del data_result['2020년']
del data_result['2021년']
del data_result['2022년']
data_result.head()
⇊
index를 재지정하는 명령
data_result.set_index("구별", inplace=True) ##나중에 그래프 그릴때 편함
data_result.head()
⇊
두 변량 사이에 한쪽이 증가하면 다른쪽도 증가(혹은 감소)하는 경향이 있을 때, 이 두 변량 사이에는 상관관계 가 있다고 함
data_result.corr()
⇊
-CCTV전체 수 (총계)와 가장 상관관계가 있는 데이터는 인구수
data_result["CCTV비율"] = data_result["총계"] / data_result["인구수"]
data_result["CCTV비율"] = data_result["CCTV비율"] * 100
data_result.sort_values(by="CCTV비율", ascending=False).head(5)
⇊
data_result.sort_values(by="CCTV비율", ascending=True).head(5)
⇊
서울시 데이터 광장에 있던 csv파일을 그대로 쓰려니 utf-8로 인코딩도 안되고, 수많은 NaN 투성이에, 안의 값을 문자열로 받아들여서 결국 엑셀에서 확인해봤더니, 값에 해당하는 셀서식이 '통화'로 되어있는게 있어서 오류가 난것으로 판명.
'숫자'로 싹다 바꾸고 저장했더니 인코딩도 utf-8로 되고 NaN들도 없어지고 해결.