KEEP GOING

PANDAS 기초 실습 (iloc, to_csv, read_csv) 본문

python/pandas

PANDAS 기초 실습 (iloc, to_csv, read_csv)

jmHan 2022. 1. 26. 17:00
반응형
import pandas as pd

customer = [
    {'name': '한정민', 'age': 26, 'address': 'Ansan', 'account':85000000},
    {'name': '박우혁', 'age': 29, 'address': 'Soowon', 'account':95211001},
    {'name': '김설준', 'age': 25, 'address': 'Dokyo', 'account':151000215},
    {'name': '존리', 'age': 58, 'address': 'Bucheon', 'account':5554422100},
    {'name': '최인수', 'age': 30, 'address': 'Incheon', 'account':52200005},
    {'name': '유재석', 'age': 45, 'address': 'Seoul', 'account':88112155500}
]
df = pd.DataFrame(customer, columns=['name', 'age', 'address', 'account'])

위와 같은 샘플을 사용하여 실습을 진행하였다. 데이터프레임 객체인 df를 print() 함수로 출력해주면 다음과 같은 테이블이 나타난다.  

 

 

1. 인덱스 번호 2번째부터 출력

print(df.iloc[2:])

 

2. 나이가 50 이상인 row 만 추력 

# 컬럼에 접근시 df.컬럼
print(df[df.age>=50])

# 쿼리를 '' 으로 묶어줘야 
print(df.query('age >= 50'))

컬럼에 특정 조건을 부여하고 싶은 경우, pd.age와 같이 데이터 프레임 객체에 컬럼명을 붙여 접근하거나 pd 객체의 query() 메소드를 사용할 수 있다. 단 query를 사용하는 경우, query는 ""로 문자열 처리를 해주어야 한다. 또한 데이터 프레임 객체 없이 컬럼에 직접 접근해야 한다. 두 방식 모두 아래와 같은 결과를 도출한다.

   

 

3. 나이가 29살이면서 수원에 사는 고객 조회하기

print(df[(df.age == 29) & (df.address == 'Soowon')])
print(df.query("(address == 'Soowon') and (age == 29)"))

 

4. 컬럼 이름 바꾸기 

df.columns = [1,2,3,4]

 

5. 두 개의 Series를 컬럼으로 받아 데이터 프레임 만들기

s1 = pd.Series([1,2,3])
s2 = pd.Series(['one', 'two', 'three'])

df2 = pd.DataFrame(dict(num=s1, word=s2))
print(df2)

 

6. CSV 파일로 저장하기 

df2.to_csv('customer.csv')

실습을 진행하는 파일과 같은 디렉터리 안에 아래와 같은 csv 파일이 저장되는 것을 확인할 수 있다. 

 

7. 헤더, index 값 없이 CSV 파일 저장하기

df2.to_csv('customer.csv', header=False, index=False)

 

8. CSV 파일 가져오기 

df3 = pd.read_csv('hello.csv')

 

9. CSV 파일 가져오면서 헤더 추가하기 

df3 = pd.read_csv('hello.csv', names=['name', 'age', 'address', 'account'])

 

10. tab(\t)으로 구분되어 있는 CSV 테이블 파일 가져오기 

df3 = pd.read_csv('customer.csv', delimiter='\t')
print(df3)

 

 

반응형
Comments