728x90
Pandas에서 데이터를 가져오고 삭제해보자.
1. df.head( )
import pandas as pd
import numpy as np
df = pd.read_excel("./data/example.xlsx")
# 앞의 5개 데이터 출력
df.head()
-> 기본적으로 5개의 데이터를 출력하며 숫자를 지정하여 원하는 개수만큼 출력할 수 있다.
2. df[ : ]
# row인덱스 기준으로 3개의 데이터 출력 (0,1,2)
df[:3]
-> row(행) 인덱스 기준으로 데이터를 출력한다.
3. df["abc"]
# account 컬럼의 앞 2개의 데이터 출력
df["account"].head(2)
-> df의 account컬럼을 출력하며 앞의 2개의 데이터만 출력한다.
4. 이렇게도 할 수 있다.
a = df["account"]
a[:3]
a = df["account"]
a[[0,1,2]]
-> df의 account 컬럼을 a 변수에 대입하고 a의 0~2(0,1,2) 인덱스 번호의 데이터를 출력한다.
두 개는 같은 결과를 출력한다.
5. df[ 조건 ]
# 조건에 맞는 데이터 출력
account = df["account"]
account[account<25000]
-> 조건에 맞는 시리즈를 출력한다.
6. df.index( )
#ex1
df.index = df["account"]
#ex2
df.index = list(range(0,15))
-> 데이터프레임의 기본 인덱스는 0부터~까지 자동으로 지정되나 임의로 지정할 수 있다.
-> ex1의 결과로, df의 인덱스 값을 account컬럼값으로 변경했다.
또는 ex2는 range를 사용하여 순차적으로 숫자를 인덱스값으로 지정한 것이다.
7. 다양한 방법 사용하여 조회하기
7-1. 컬럼의 이름과 인덱스 번호를 지정하여 출력
df[["name","street"]][:2]
7-2. 인덱스의 값과 컬럼 이름을 지정하여 출력
df.loc[[21111,32222],["name","street"]]
7-3. iloc 사용해서 인덱스 번호로만 출력
df.iloc[:2,:2]
8. 데이터 삭제하기 ( df.drop(row number) )
# ex1
df.drop(1)
# ex2
df.drop([0,1,2,3])
# ex3 축 기준, axis=1을 꼭 넣어주어야함
df.drop("city", axis=1)
df.drop(["city","state"], axis=1)
-> .drop을 사용하여 컬럼을 삭제한다.
row number를 기준으로 삭제하며 axis를 지정하여 축 기준으로 삭제할 수도 있다.
9. 주의할 점
Pandas에서는 원본 데이터를 쉽게 삭제하지 않는다.
drop을 사용할 경우 데이터프레임 원본 데이터가 삭제되는 것이 아니라 데이터프레임의 복사본을 만든 후 그 복사본의 데이터를 삭제하여 보여준 것이다.
원본 데이터를 변환하고 싶으면 inplace argument를 지정해주어야 한다.
df.drop(["city","state"], axis=1, inplace=True)
[AI Tech Pre-course] 인공지능(AI) 기초 다지기
부스트코스 무료 강의
www.boostcourse.org
728x90
'Python > Pandas' 카테고리의 다른 글
[Pandas 기초] Pandas와 함수 (0) | 2021.06.16 |
---|---|
[Pandas 기초] Pandas의 DataFrame (2) | 2021.06.12 |
[Pandas 기초] Pandas 라이브러리 (2) | 2021.06.11 |
댓글
최근에 올라온 글
TAG
- 머신러닝
- algorithm
- numpy
- 프로그래머스
- Min()
- MongoDB
- Programmers
- Python
- 경사하강법
- OpenCV
- 부스트코스
- 주니온
- db
- 딥러닝
- 자료구조
- Scikit
- Pandas
- sklearn
- cnn
- 알고리즘
- SQLD
- Project
- 파이썬
- Max()
- 기계학습
- VGGNet
- Ai
- 인공지능
- slqd
- SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Total
- Today
- Yesterday
250x250