Study/class note
python / 문자열(인덱싱, 슬라이싱)
chanzae
2021. 12. 22. 16:24
075 문자열에서 특정 위치의 문자 얻기
문자열에서 특정 위치의 문자를 얻는 방법은 인덱싱을 이용하는 것.
인덱스는 0번부터 시작. 파이썬 인덱스는 음수도 가능
print('scott'[0]) # s
print('scott'[2]) # o
문제283. 아래의 txt 변수에서 맨끝의 철자인 t를 출력하시오
txt = 'A tale that was not right'
print(txt[-1])
문제284. 아래의 SQL을 판다스로 구현하시오
-- SQL
select substr(ename, -1, 1)
from emp;
# 판다스
emp = pd.read_csv("c:\\data\\emp2.csv")
emp['ename'].apply(lambda x:x[-1])
# emp.ename.apply(lambda x:x[-1]) <= 컬럼에 대괄호 쓰기 싫으면 이렇게 써도 가능
# 함수를 써서 불러와도 됨
def func1(str_val):
return str_val[-1]
emp.ename.apply(func1)
lambda는 이름없는 한줄짜리 함수
문제285. 아래의 SQL을 판다스로 구현하시오
-- SQL
select substr(ename, 2, 1)
from emp;
# 판다스
def func1(str_val):
return str_val[1]
emp.ename.apply(func1)
# 또는
emp.ename.apply(lambda x:x[1])
076 문자열에서 지정한 구간의 문자열 얻기
문자열에서 특정 구간에 있는 문자열을 얻으려면 슬라이싱을 이용하면 됨.
a = 'scott'
print(a[0:2]) # sc
print(a[3:]) # tt
print(a[:3]) # sco
문제286. 아래의 SQL을 판다스로 구현하시오.
-- SQL
select ename, substr(ename, 1, 3)
from emp;
# 판다스
emp['ename2'] = emp['ename'].apply(lambda x:x[:3])
emp[['ename','ename2']]
#또는
def func1(str_val):
return str_val[:3]
emp.ename.apply(func1)
문제287. 아래의 SQL을 판다스로 구현하시오.
-- SQL
select ename,substr(ename, -2,2)
from emp;
# 판다스
emp['ename2'] = emp['ename'].apply(lambda x:x[-2:])
emp[['ename','ename2']]
반응형