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)
728x90
'Python > Pandas' 카테고리의 다른 글
[Pandas 기초] Pandas와 함수 (0) | 2021.06.16 |
---|---|
[Pandas 기초] Pandas의 DataFrame (2) | 2021.06.12 |
[Pandas 기초] Pandas 라이브러리 (2) | 2021.06.11 |
댓글
250x250
최근에 올라온 글
TAG
- 주니온
- OpenCV
- cnn
- db
- numpy
- 머신러닝
- 부스트코스
- 기계학습
- SQL
- Ai
- MongoDB
- 알고리즘
- SQLD
- Project
- Max()
- 자료구조
- Python
- 인공지능
- 파이썬
- VGGNet
- 프로그래머스
- 딥러닝
- Min()
- sklearn
- Scikit
- Pandas
- Programmers
- 경사하강법
- slqd
- algorithm
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- Total
- Today
- Yesterday