중간고사 대비하면서 잘 정리해둔 내용을 다른분들도 필요하실 수도 있을것 같아서 올립니다.
파이썬 기본구조는 문자(char),수치(float,int),bool(불대수:T/F)가 기본골격입니다.
List가 제일 큰 구조이며, 서로동일유형데이터를 가지는 array, 서로다른유형의데이터를 가지는 dataframe로 나뉩니다.
List는 List끼리 계산이 불가능하고 이를 계산하기 위하여 array를 사용해야합니다.
#문자형 인덱싱
A = "안녕하세요. 지금은 데이터 전처리 수업시간입니다."
A[0:len(A)] #len(data):data의 길이를 나타냄.
>'안녕하세요. 지금은 데이터 전처리 수업시간입니다.'
A[:-2]
>'안녕하세요. 지금은 데이터 전처리 수업시간입니'
#List
a = "떡볶이, 4000"
b = "김밥, 3000"
L = [a,b]
L
>['떡볶이, 4000', '김밥, 3000']
type(L)
>list
#array
import numpy as np
a=np.array([[1,2,3], [4,5,6]])
a.shape
>(2, 3)
b = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
b
>array([[[ 1, 2, 3],
[ 4, 5, 6]],
[[ 7, 8, 9],
[10, 11, 12]]])
b.shape
>(2, 2, 3) #[]가 차원을 뜻함. 첫괄호 안에 큰지막하게 묶이는 2개, 다음 [] 2개, 그 다음 []안 요소 3개
아래는 print문 사용법입니다.
#print 변수이용
print("이번시험 성적은 %0.3f 입니다." %80.255752)
>이번시험 성적은 80.256 입니다.
#print(({},{}).format(,))
grade = ["A","B","A+","C","C+","A","B","B+"]
point = [90,80,99,68,75,88,82,88]
print(("이번시험의 성적은 {}점이고 자네의 학점은 {}야.").format(point[0],grade[0]))
>이번시험의 성적은 90점이고 자네의 학점은 A야.
#for문을 이용해서 grade,point를 각 행으로 출력해라.
for i in range(len(point)):
print(("이번시험의 성적은 {}점이고 자네의 학점은 {}야.").format(point[i],grade[i]))
>이번시험의 성적은 90점이고 자네의 학점은 A야.
이번시험의 성적은 80점이고 자네의 학점은 B야.
이번시험의 성적은 99점이고 자네의 학점은 A+야.
이번시험의 성적은 68점이고 자네의 학점은 C야.
이번시험의 성적은 75점이고 자네의 학점은 C+야.
이번시험의 성적은 88점이고 자네의 학점은 A야.
이번시험의 성적은 82점이고 자네의 학점은 B야.
이번시험의 성적은 88점이고 자네의 학점은 B+야.
pi = 3.1415926535897932384626
#print(({:.5f}),format(data)) :data를 소수점5번째 짜리까지 표현(반올림)
print(("원주율은 {:.5f}이다.").format(pi))
아래는 문자형을 대체하는 방법과 data.index사용법에 대해서 소개한다.
#data.replace("old","new")
url = "https://pastryofjsmath.tistory.com/"
url
>'https://pastryofjsmath.tistory.com/'
#"http://"는 주소에 없어도 잘 돌아간다. 이를 제거해보자.
url2 = url.replace("https://","")
url2
>'pastryofjsmath.tistory.com/'
#주소만이 가진 특정요소를 가져오고싶다. (ex.pastryofjsmath)
#뒤에서부터 하나씩 세어봄.
url2[:-13]
>'pastryofjsmath'
#이런 세는 과정은 번거롭기에,
#이럴땐 data.index를 사용하자.
#data.index("문자") 처음부터 맨 첫문자까지의 길이를 나타냄.
url2.index(.tistory) #.의 위치를 나타냄.
>14
url2[:url2.index(".")] # url2[:14] 와 같음.
>'pastryofjsmath'
#list에서의 data.index 사용법
L
>['떡볶이, 4000', '김밥, 3000']
L[0]
>'떡볶이, 4000'
#떡볶이만 나타내고 싶다!
#또 하나씩 세어본다.. 0,1,2,3 data[a:b] a에서 b직전까지이므로, 3!
L[0][0:3]
>'떡볶이'
#근데 ,로 끊겨있으므로, index사용이 가능하겠다.
L[0].index(",")
>3
L[0][:L[0].index(",")]
>'떡볶이'
아래는 리스트의 요소를 추가,제거하는 방식을 소개한다.
# *리스트 추가 data.append(추가요소)
a = [1972,"오랜 지병","김두한","고혈압"]
>[1972, '오랜 지병', '김두한', '고혈압']
a.append("쓰러졌다.")
a
>[1972, '오랜 지병', '김두한', '고혈압', '쓰러졌다.']
#리스트에서 요소 제거. a.pop(제거하고싶은 요소 순서)
a.pop(2)
>'김두한'
a
>[1972, '오랜 지병', '고혈압', '쓰러졌다.']
#만약에 list 요소가 엄청 많아서 특정요소만 딱! 뽑아내고 싶다면?
#index 사용.
#a[a == "오렌지병"] R에서 벡터는 이렇게 인덱싱하는데..
#파이썬에서는 data.index("오랜 지병")!!
a.index("오랜 지병")
>1
a.pop(a.index("오랜 지병"))
a
>[1972, '고혈압', '쓰러졌다.']
'데이터 전처리 > python' 카테고리의 다른 글
날짜,시간 데이터 전처리 (feat. Series,Dataframe) (0) | 2024.04.19 |
---|---|
파이썬 범주화,결측치 처리기법 (0) | 2024.04.17 |
파이썬 인덱싱 기법,리스트,배열,딕셔너리,데이터프레임 핸들링 (0) | 2024.04.17 |
파이썬 데이터프레임 불러오기(txt->csv->read.csv) (0) | 2024.04.12 |
파이썬 기초-2(배열 추가제거,배열의결합,딕셔너리,딕셔너리 추가제거) (1) | 2024.04.12 |