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']]
반응형
'Study > class note' 카테고리의 다른 글
python / 문자열(슬라이싱, 스텝,+,*, in, len,isalpha,isdigit) (0) | 2021.12.23 |
---|---|
python / 커피 키오스크 + data_add 따로 빼기 (0) | 2021.12.22 |
python / pandas(결측치 치환, 파생변수 추가) (0) | 2021.12.22 |
python / 자료 형변환하기(int, float,filter), 최댓값/최솟값(max,min) (0) | 2021.12.22 |
python / 반올림수 구하기(round) (0) | 2021.12.22 |