본문 바로가기

Study/class note

python / 시퀀스 자료형 이해

026 시퀀스 자료형 이해하기

시퀀스 자료형은 어떤 객체가 순서를 가지고 나열되어 있는 것을 말함.

예를들어 문자열 'abcd'는 문자 a,b,c,d가 순서를 가지고 차례대로 나열되어 있는 것.

a = 'scott'
print(a)    # scott

# 위의 scott이라는 문자를 담은 a변수에서 첫번째 요소만 출력하고 싶다면?
print(a[0])   # s
print(a[1])   # c

문제101. emp5.csv를 for loop문으로 읽어와서 사원 이름만 출력하시오.

import csv

file = open("c:\\data\\emp5.csv")   
emp_csv = csv.reader(file)          

for i in emp_csv:
    print(i[1])

문제102. 이름을 출력하고 그 옆에 이름의 첫번째 철자만 출력하시오

import csv

file = open("c:\\data\\emp5.csv")   
emp_csv = csv.reader(file)          

for i in emp_csv:
    print(i[1], i[1][0])

문제103. 위의 결과를 판다스로 출력하시오.

import pandas as pd
emp = pd.read_csv("c:\\data\\emp2.csv")
emp['ename'].apply(lambda x:x[0])       # 이 경우 이름의 첫번째 철자만 출력됨. 이름은 같이 안나옴.

apply() : emp['ename']을 하나씩 apply 괄호안의 함수에 넣게 됨.

lambda : 함수 이름이 없는 한 줄짜리 함수

emp 데이터 프레임에 이름의 첫번째 컬럼만 출력하고 있는 위의 결과를 컬럼으로 구성해줘야함.

emp['ename_first'] = emp['ename'].apply(lambda x:x[0])

emp

emp 데이터 프레임에서 이름과 이름의 첫번째 철자만 출력하시오.

emp[['ename','ename_first']]

문제104. (오늘의 마지막 문제) 이름의 끝글자가 T로 끝나는 사원들의 이름과 월급을 출력하시오.

emp['ename_last'] = emp['ename'].apply(lambda x:x[-1])

emp[['ename','sal']][emp['ename_last'] == 'T']

 

반응형