2022. 5. 23. 22:11ㆍ코딩/Python
안녕하세요. 코딩왕 코주부입니다.
오늘은 지난 포스팅에 이어,
Python Pandas DataFrame에 첫 번째 행을 삽입하는 방법에 대해 정리해보았습니다.
정말 간단하니 한 번 해보세요!!
오늘의 목표입니다.
지난 시간에 이용했던 car.csv 파일의 첫 번째 행 자리에
30살의 남자 Kim이 소유하고 있는 포르쉐 911 타르가 4S 데이터를 추가해보겠습니다.
(서른 살에 포르쉐 911 타르가 라니.. 정말 부럽네요!)
우선 df 데이터프레임 부터 준비해줍니다.
import pandas as pd
df = pd.read_csv('car.csv')
print(df)
Name Sex Age Car
0 Sam Female 20 Benz S550
1 Sam Female 20 BMW 330i
2 James Male 25 Chevrolet Corvette
3 Brian Male 32 Ford Mustang
4 Elon Male 31 Audi A6
5 Emily Female 24 Volvo V60
6 Harry Male 21 BMW 420d
7 Paul Male 21 Benz G63
8 Paul Male 21 Volvo V40
9 Paul Male 21 BMW 520d
10 Amy Female 36 Audi TT
11 John Male 34 Audi R8
12 John Male 34 Ford Mustang
13 John Male 34 BMW 520d
'car.csv' 파일을 불러와서 df가 준비되었으면,
원하는 Data 를 df의 -1 인덱스에 define 합니다.
df.loc[-1] = 리스트(list) or 튜플(tuple)
을 실행하면 df의 가장 하단: -1 인덱스에 해당 데이터가 갖다 붙습니다.
df.loc[-1] = ['Kim', 'Male', '30', 'Porsche 911 Targa 4S']
print(df)
Name Sex Age Car
0 Sam Female 20 Benz S550
1 Sam Female 20 BMW 330i
2 James Male 25 Chevrolet Corvette
3 Brian Male 32 Ford Mustang
4 Elon Male 31 Audi A6
5 Emily Female 24 Volvo V60
6 Harry Male 21 BMW 420d
7 Paul Male 21 Benz G63
8 Paul Male 21 Volvo V40
9 Paul Male 21 BMW 520d
10 Amy Female 36 Audi TT
11 John Male 34 Audi R8
12 John Male 34 Ford Mustang
13 John Male 34 BMW 520d
-1 Kim Male 30 Porsche 911 Targa 4S
우리 흔히 알기로는 -1은 0보다 작은 숫자이지요?
그럼, index를 오름차순으로 정렬한다면 -1, 0, 1 순으로 정렬될 것만 같단 말이죠!
df.sort_index() 함수를 활용하여 index를 오름차순으로 정렬해줍니다.
df = df.sort_index()를 명령하여도 되고, df.sort_index(inplace = True)면 df를 다시 정의내리지 않아도 됩니다.
df = df.sort_index()
## df.sort_index(inplace = True)
print(df)
Name Sex Age Car
-1 Kim Male 30 Porsche 911 Targa 4S
0 Sam Female 20 Benz S550
1 Sam Female 20 BMW 330i
2 James Male 25 Chevrolet Corvette
3 Brian Male 32 Ford Mustang
4 Elon Male 31 Audi A6
5 Emily Female 24 Volvo V60
6 Harry Male 21 BMW 420d
7 Paul Male 21 Benz G63
8 Paul Male 21 Volvo V40
9 Paul Male 21 BMW 520d
10 Amy Female 36 Audi TT
11 John Male 34 Audi R8
12 John Male 34 Ford Mustang
13 John Male 34 BMW 520d
인덱스를 정렬하고 나니,, 눈에 거슬리는게 하나 있습니다.
원하는 데이터는 첫 째 행에 삽입하였으나,
인덱스가 0부터 시작하는게 좋은데 -1 부터 시작하죠.
그럴 땐 df.reset_index(drop = True) 함수를 사용해봅니다.
마찬가지로 df.reset_index(drop = True, inplace = True)를 이용하면 대입하지 않아도 간단하게 사용 가능합니다.
df = df.reset_index(drop = True)
## df.reset_index(drop = True, inplace = True)
print(df)
Name Sex Age Car
0 Kim Male 30 Porsche 911 Targa 4S
1 Sam Female 20 Benz S550
2 Sam Female 20 BMW 330i
3 James Male 25 Chevrolet Corvette
4 Brian Male 32 Ford Mustang
5 Elon Male 31 Audi A6
6 Emily Female 24 Volvo V60
7 Harry Male 21 BMW 420d
8 Paul Male 21 Benz G63
9 Paul Male 21 Volvo V40
10 Paul Male 21 BMW 520d
11 Amy Female 36 Audi TT
12 John Male 34 Audi R8
13 John Male 34 Ford Mustang
14 John Male 34 BMW 520d
짜잔~!!
인덱스도 0부터 시작하게 되었고,
원하는 데이터도 첫 번째 행에 삽입 성공하였습니다!
이런 식으로 pandas의 .loc & .sort_index & .reset_index 의 세 가지 함수를 활용하여
첫 번째 행 자리에 새로운 행을 삽입할 수 있습니다.
많은 도움되셨으면 좋겠네요^^
그럼 이만😎
'코딩 > Python' 카테고리의 다른 글
[Python] No module named 'cv2' Error 해결 방법 (import cv2 에러) (0) | 2022.06.11 |
---|---|
[Jupyter Notebook] 파이썬 주피터 노트북 테마 쉽게 변경하는 방법 (with. jupyterthemes in python) (0) | 2022.05.31 |
[Python] Pandas DataFrame Groupby Filter 함수 사용 방법 (0) | 2022.05.18 |
Python pycrypto, pycryptodome 설치 오류 해결 방법 안내 (0) | 2022.02.22 |
python No module named 'Crypto' 해결 방법 안내 (0) | 2022.02.22 |