이름 | 국어 | 수학 |
이서연 | 70 | 80 |
김민준 | 70 | 80 |
박지우 | 70 | 80 |
위와 같은 데이터가 있다.
여기서 과목별 합계 점수를 구해 '합계'란 칼럼을 추가해서 값을 넣고 싶다.
할 수 있는 방식이 여러가지 있지만, 한 줄씩 읽어오는 방식을 사용한다면 다음과 같다.
import pandas as pd
data_list = []
data = {}
data['name'] = '이서연'
data['korean'] = 70
data['math'] = 80
data_list.append(data)
data = {}
data['name'] = '김민준'
data['korean'] = 70
data['math'] = 80
data_list.append(data)
data = {}
data['name'] = '박지우'
data['korean'] = 70
data['math'] = 80
data_list.append(data)
df = pd.DataFrame(data_list)
for index, row in df.iterrows():
df.loc[index,'sum'] = row['korean'] + row['math']
print(df)
출력 결과
name korean math sum
0 이서연 70 80 150.0
1 김민준 70 80 150.0
2 박지우 70 80 150.0
이렇게 iterrows를 사용하는 방식은 처리 속도가 엄청 오래 걸린다. 되도록 다른 방식을 쓰는 것이 좋다.