import pandas as pd
exam_data = {'이름' : ['서준', '우현', '인아', '영철'],
'수학' : [90, 80, 70, 30],
'영어' : [98, 89, 95, 22],
'음악' : [85, 95, 100, 55],
'체육' : [100, 90, 90, 77]}
df = pd.DataFrame(exam_data)
print(df, "\n")
# 국어 컬럼을 추가한다
df['국어'] = 80
print(df, "\n")
# 새로운 행을 추가한다
df.loc[4] = 0
print(df, "\n")
# 값을 지정해서 행을 추가한다
df.loc[5] = ['동규', 90, 80, 60, 70, 50]
print(df, "\n")
# 행추가 - 기존 행 복사
df.loc['영철행 복사'] = df.loc[3]
print(df, "\n")
#이름 열을 인덱스로 지정
df.set_index('이름', inplace=True)
print(df, "\n")
# 특정 셀의 값을 변경
df.iloc[0][3] = 99
print(df, "\n")
df.loc['서준']['체육'] = 11
print(df, "\n")
df.loc['서준', '체육'] = 22
print(df, "\n")
# 여러개의 값을 한꺼번에 변경하기
df.loc['서준', ['음악', '체육']] = 50
print(df, "\n")
df.loc['서준', ['음악', '체육']] = [60, 61]
print(df, "\n")
# 행, 열 바꾸기
print(df, "\n")
df = df.transpose()
print(df, "\n")
# 다시 되돌리기, transpose() 를 해도 좋고 .T 클랙스 속성을 이용해 된다
df = df.T
print(df, "\n")
transpose() 기능을 편리하게 사용할 것 같다. 엑셀에서는 이 기능이 있어서 잘 썼었는데, 넘버스에서는 없어서 불편했었다. 엑셀을 꼭 썼어야 하는 이유 하나가 사라졌다. ^^