728x90
반응형
항상 찾아서만 쓰다가 정리해 놓을 필요성이 느껴져서 자주 쓰는 함수들을 정리해 보았다.
1. DataFrame 만들기
1) tuple로 구성된 list를 이용해서 만들기
# DataFrame 만들기
## tuple들의 list를 이용해서 만들기
goal_rank = [(1, '도미닉 칼버트-르윈', 11, '애버튼'), \
(2, '손흥민', 10, '토트넘'), \
(3, '모하메드 살라', 9, '리버풀' ), \
(3, '제이미 바디', 9, '레스터시티'), \
(5, '패트릭 뱀포드', 8, '리즈 유나이티드'), \
(5, '해리 케인', 8, '토트넘')]
df1 = pd.DataFrame(goal_rank, columns = ['순위', '이름', '득점 수','소속팀'])
df1.head() #데이터의 앞 5개만 보여준다. 인자로 보여줄 개수를 넣을 수 있다.
2) 리스트를 이용해서 DataFrame 만들기
##리스트를 이용해서 DataFrame 만들기
ranks = [1, 2, 3, 3, 5, 5]
names = ['도미닉 칼버트 르윈', '손흥민', '모하메드 살라', '제이미 바디', '패트릭 뱀포드', '해리 케인']
goals = [11, 10, 9, 9, 8, 8]
teams = ['애버튼', '토트넘', '리버풀', '레스터시티', '리즈 유나이티드', '토트넘']
goals_dict = {'순위': ranks, '이름': names, '득점 수': goals,'소속팀': teams}
df2 = pd.DataFrame(goals_dict)
df2.head()
2. 행, 열 추가, 삭제, 수정
1) 행 추가하기
# 행 추가
add_row = [(7, '칼럼 윌슨', 7, '뉴캐슬')]
df_add_row = pd.DataFrame(add_row, columns = ['순위', '이름', '득점 수','소속팀'])
df2 = df2.append(df_add_row)
df2
새로운 행을 DataFrame으로 만들어 준 후, 이를 기존 DataFrame에 append를 이용해 추가한다.
2) 행 삭제하기
#행 삭제
df2.drop(6, 0) #첫번째 인자는 인덱스 번호, 2번째 인자는 인덱스를 참조할 행 또는 열, 행:0, 열:1
간단하게 drop 함수를 써주면 된다. 첫번째 인자는 인덱스 값(인덱스 번호 또는 행, 열 이름), 두 번째 인자는 행 또는 열을 의미한다.
0번 인덱스 2개가 모두 삭제 되었다. 마지막 인덱스만 삭제하고 싶었다면, 데이터 추가 후 인덱스를 reset 해주는 과정이 필요하다.
df2 = df2.reset_index(drop = True)
df2
마지막 행이 아닌 중간에 있는 행을 삭제한 경우 인덱스 초기화가 필요할 수 있다.
3) 열 추가하기
#열 추가
team_goals = [20, 23, 26, 21, 16, 23, 12]
df2['팀 득점'] = team_goals
df2
4) 열 삭제하기
#열 삭제
del df2['팀 득점']
df2
5) 데이터 수정하기
# 데이터 수정
df2.loc[df2['이름'] == '손흥민', ['득점 수', '순위']] = (11, 1)
df2
손흥민 선수의 득점과 순위를 변경하고자 한다면 위와 같은 코드를 적용해 볼 수 있다.
3. 정렬
# 정렬1
df2.sort_values(by = ['팀 득점'], ascending = False)
'팀 득점' 열을 기준으로 내림차순(ascending을 False로)으로 정렬하였다.
# 정렬2
정렬2
df2 = df2.sort_values(by = ['순위', '팀 득점'], ascending = True)
df2
'순위' 열을 기준으로 정렬 후, '팀 득점'을 두 번째 기준으로 정렬
4. grouping
# grouping
group_team = df2['득점 수'].groupby(df2['소속팀'])
group_team.sum()
득점 수를 알고 싶은데 이를 소속팀별로 묶어서 살펴보고 싶다. 이에 맞게 적용한 코드. 즉, 상위 득점자들의 팀별 득점 수
5. csv 파일 생성, 불러오기
#csv 파일에서 불러오기, 저장하기
df2.to_csv('goal_rank.csv', index = False, encoding = 'euc-kr') #현재 작업 디렉토리에 저장됨
df3 = pd.read_csv('goal_rank.csv', encoding = 'euc-kr')
df3
728x90
반응형
'컴퓨터' 카테고리의 다른 글
블랙 서바이벌 영원회귀 리뷰글 분석(EDA) (feat. 도배글 처리) (0) | 2021.01.04 |
---|---|
자연어 처리 EDA(Exploratory Data Analysis) (3) | 2020.12.17 |
pyinstaller FileNotFoundError: [Errno 2] No such file or directory: [16716] Failed to execute script 오류 (0) | 2020.12.06 |
[엑셀] 열 이동시키기. (0) | 2020.10.29 |
이름 유사도 구하기 - soundex algorithm (0) | 2020.08.02 |
댓글