가공할 데이터 준비
import pandas as pd
df = pd.read_csv('data/scores.csv')
df.index = range(100,3100,100)
df.head(3)
"""
name kor eng math
100 Aiden 100.0 90.0 95.0
200 Charles 90.0 80.0 75.0
300 Danial 95.0 100.0 100.0
"""
마지막에 행 추가하고 인덱스 다시 지정하기
- 데이터프레임.append(추가할데이터, ignore_index=True)
- 추가할 데이터는 딕셔너리 형태로 전달 : {컬럼1:값1, 컬럼2:값2,...}
- 데이터프레임의 끝에 행 추가
- 기존 인덱스는 무시하고, 인덱스가 새롭게 생성된다.
new_value = {'name':'Python','kor':80,'eng':90,'math':100}
df = df.append(new_value, ignore_index=True)
df.tail()
"""
name kor eng math
26 Viviana 100.0 80.0 100.0
27 Vikkie NaN 50.0 100.0
28 Winnie 70.0 100.0 70.0
29 Zuly 80.0 90.0 95.0
30 Python 80.0 90.0 100.0
"""
인덱스 지정하여 추가/수정하기
- 데이터프레임.loc[인덱스] = 추가할데이터
- 데이터프레임.loc[인덱스] = 수정할데이터
- 인덱스가 존재하면 해당 인덱스의 데이터가 수정된다.
- 인덱스가 존재하지 않으면 데이터프레임의 끝에 데이터가 추가된다.
# 인덱스 35에 추가
df.loc[35] = ['aaa',70,80,90]
# 인덱스 34에 추가
df.loc[34] = ['bbb',80,90,100]
df.tail()
"""
name kor eng math
28 Winnie 70.0 100.0 70.0
29 Zuly 80.0 90.0 95.0
30 Python 80.0 90.0 100.0
35 aaa 70.0 80.0 90.0
34 bbb 80.0 90.0 100.0
"""
행 삭제하기
- 데이터프레임.drop(index=[삭제할인덱스리스트], inplace=True)
# 30,34,35 삭제
df.drop(index=[30,34,35], inplace=True)
df.tail()
"""
name kor eng math
25 Vanessa 95.0 70.0 95.0
26 Viviana 100.0 80.0 100.0
27 Vikkie NaN 50.0 100.0
28 Winnie 70.0 100.0 70.0
29 Zuly 80.0 90.0 95.0
"""
인덱스 변경하기
전체 인덱스명 변경하기
- 데이터프레임.index = 인덱스명리스트
인덱스명리스트의 항목 수는 인덱스 수와 동일해야한다.
# range(100,3100,100)
df.index = range(100,3100,100)
df
"""
name kor eng math
100 Aiden 100.0 90.0 95.0
200 Charles 90.0 80.0 75.0
300 Danial 95.0 100.0 100.0
400 Evan 100.0 100.0 100.0
500 Henry NaN 35.0 60.0
.
.
.
"""
특정 인덱스명 변경하기
- 데이터프레임.rename(index={'현재인덱스명1':'바꿀인덱스명1','현재인덱스명2':'바꿀인덱스명2',...})
# 100-->'a', 200-->'b'
df.rename(index={100:'a',200:'b'}, inplace=True)
df.head()
"""
name kor eng math
a Aiden 100.0 90.0 95.0
b Charles 90.0 80.0 75.0
300 Danial 95.0 100.0 100.0
400 Evan 100.0 100.0 100.0
500 Henry NaN 35.0 60.0
"""
'파이썬 > 파이썬 pandas' 카테고리의 다른 글
[pandas] 결측치 처리하기 isnull, dropna, fillna (0) | 2023.05.11 |
---|---|
[pandas] 데이터에 함수 적용하기 apply (0) | 2023.05.11 |
[pandas] 열 변경하기 columns, rename (0) | 2023.05.11 |
[pandas] 행번호, 열번호로 데이터 추출하기 iloc[], iloc[[]], iloc[:], iloc[-1] (0) | 2023.05.11 |
[pandas] 인덱스로 데이터 추출하기 loc[], loc[, ], loc[, []] (0) | 2023.05.11 |