kkkkk1023 2024. 10. 10. 13:35

문제 풀이)

 

랜덤 정수 값을 이용해서 데이터를 만들어야하기 때문에, 행의 이름들과 열의 이름들을 따로 만들어주고 데이터 프레임을 제작해야했다.

따라서 반복문을 이용해서 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을 가진 행들을 삭제시킨다.