해당 데이터 프레임에서
0세부터 100세 까지 나이대 별로 몇명이 있는지 시각화를 한다면
df2 = df.loc[ df["행정구역"].str.contains("삼청동"), "2019년07월_계_0세" : ].values # values 로 컬럼을 제외한 값만 가져온다.
[in]df2
[out]array([[ 7, 9, 13, 12, 11, 11, 9, 11, 20, 18, 18, 23, 23, 19, 17, 16,
20, 25, 25, 27, 22, 35, 34, 29, 42, 38, 38, 32, 31, 36, 53, 32,
29, 42, 45, 29, 45, 50, 45, 52, 43, 36, 34, 29, 35, 33, 41, 37,
46, 48, 44, 47, 33, 46, 41, 40, 44, 57, 47, 49, 52, 45, 45, 44,
49, 35, 40, 37, 18, 28, 34, 40, 29, 24, 27, 25, 27, 36, 24, 27,
17, 18, 16, 19, 16, 12, 14, 10, 11, 9, 1, 6, 6, 2, 3, 1,
1, 2, 1, 1, 7]], dtype=int64)
x = np.arange(0, 100+1)
여기서 바로 다음과 같이 차트를 그리면
plt.plot(x ,df2)
plt.show()
두가지 문제가 발생한다
1. 차원의 다름
2. 숫자가 아닌 문자열이라는 에러
그래서 describe를 해보면
df.describe()
보다시피 99세 만 숫자로 되있는것이 확인된다.
첫번째 문제는 간단히 df2 = df2.reshape(101, ) 함수를 이용하면되는것이고.
두번째 문제는 df 데이터 값에 콤마가 들어가있기때문에
pd.read_csv를 할때 thousands= ',' 를 해주면 해결된다.
'DataScience > Python' 카테고리의 다른 글
Pandas url.csv 데이터분석 6.a실습 (0) | 2022.11.29 |
---|---|
데이터프레임에 "특정단어"가 들어가있는지 여부 pd.str.contains() (0) | 2022.11.29 |
파이썬에서 함수 실행시 메모리의 상태 (0) | 2022.11.22 |
Python 라이브러리 datetime(날짜,시간 처리) (0) | 2022.11.22 |
Python 라이브러리 random (0) | 2022.11.22 |