문제 풀이)
랜덤 정수 값을 이용해서 데이터를 만들어야하기 때문에, 행의 이름들과 열의 이름들을 따로 만들어주고 데이터 프레임을 제작해야했다.
따라서 반복문을 이용해서 rows, cols의 리스트를 생성하고, 아래의 생성 방식으로 데이터 프레임을 생성하였다.
df = pd.DataFrame(데이터 프레임의 데이터, index = '행의 이름들', columns = '열의 이름들')
문제 풀이)
axis = 1은 열끼리의 연산을 진행하는 것이다. 즉, C1, C2 ... C10까지의 연산이다. 따라서 각 행의 열들의 값의 평균을 구하고 'mean'이름의 열에 평균들을 추가했다.
우선 pass 컬럼을 만들고 모두 Y로 초기화주었다.
그리고 이중 반복문을 이용해서 각 행을 인덱싱하고, 해당 행의 각 열을 40과 비교하고 하나라고 40보다 작은 경우 Pass에 N을 추가했다.
또한, 각 행의 mean 컬럼의 값이 60보다 작은 값이라면 Pass에 N을 추가했다.
따라서, Y를 가지는 행은 각 열들의 값이 40 이상이고, 각 열들의 평균이 60이상인 값을 가진 행들이다.
cols를 반복문으로 돌리면서 df 데이터 프레임에서 각 열들이 10이 넘지않는 행, col 구역에 NaN 값으로 설정한다.
예를 들어 col의 값이 C1인 경우, [df[C1] > 0, C1]인 구역에 NaN 값을 저장한다.
그리고 dropa()을 이용해서 NaN을 가진 행들을 삭제시킨다.
'2학년 2학기 > 데이터 사이언스 입문' 카테고리의 다른 글
[pandas] Missing value 다루기 (0) | 2024.10.10 |
---|---|
데이터 프레임 인덱싱하는 방법 (0) | 2024.10.10 |
[pandas] Series, DataFrame에서의 산술 연산 (1) | 2024.10.08 |
[pandas] 데이터 인덱싱과 접근 (0) | 2024.10.08 |
[pandas] 주요 객체의 생성 - Series, DataFrame (0) | 2024.10.08 |