
import sys
sys.stdin.encoding
-> cp949 이므로 파일을 저장하거나 열어볼때, 기본적으로 인코더가 cp949 작동한다.
따라서 인코더가 이와 다르다면, 문자가 깨지는데 이때 인코더를 지정해야한다.
# utf-8 형식으로 파일 작성
with open("test/test1.txt", 'w', encoding='utf-8') as f:
f.write(write_text)
# 파일 읽기
with open('test/test1.txt','r', encoding='utf-8') as f:
load_text = f.read()
# euc-kr 형식으로 파일 작성
with open("test/test2.txt", 'w', encoding='euc-kr') as f:
f.write(write_text)
# 파일 읽기
with open('test/test2.txt','r', encoding='euc-kr') as f:
load_text = f.read()
import chardet
# 파일을 바이너리로 읽어보자
with open('test/test1.txt', 'rb') as f: # rb -> 바이너리 형식으로 열기
data = f.read()
print(data)

# detect 함수로 바이너리의 정보 확인!
print(chardet.detect(data))

-> 인코딩이 utf-8로 되어 있음을 확인!
넘파이 공식사이트 - 사용방법
특징
- c언어로 구현되어 있어서, 느린 파이썬보다 빠르다는 장점이 있다.
서로 다른 shape의 배열들 간에 산술 연산을 수행할 수 있는 기능
비슷한 위치에 있는 요소끼리 각각 연산을 한다.
+ - * /
- 숫자의 경우 각요소의 데이터와 숫자와 연산한다.
- 배열일 경우 열의 갯수가 맞으면 각각의 요소와 비슷한 요소끼리 연산을 한다.
concatenate()
- concatenate((배열), axis=None)
unique()
- 중복된 값을 찾아 제거하고 배열에서 고유한 값만 반환한다.
- unique_values, first_indices, counts = np.unique(arr, return_index=True, return_counts=True)
np.array()
np.zeros()
np.ones()
np.arange()
np.linspace()
np.sort()
np.concatenate([], axis=None)
shape
ndim
reshape()
np.newaxis
데이터프레임객체.index데이터프레임객체.columns
loc : 라벨 기반 인덱싱이다. 행과 열의 라벨을 사용하여 데이터를 선택한다.
at : 라벨 기반 인덱싱이다. 하나의 데이터에 접근할 때 사용한다.
iloc : 정수 위치 기반 인덱싱입니다. 행과 열의 정수 위치를 사용하여 데이터를 선택한다.
iat : 정수 위치 기반 인덱싱이다. 하나의 데이터에 접근할 때 사용한다.
import sys
sys.stdin.encoding
그래서 좀 번거롭게 encoding='utf-8'을 적어줘야하는 부분이 있었는데, 이것을 아래와 같이 적으면 기본 값이 'utf-8'로 바뀌어서 일일히 적지 않아도 된다.
import io
sys.stdin = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8')
3의 배수 이면서 5의 배수인 요소 인덱싱
3의 배수 이거나 5의 배수인 요소 인덱싱
#3의 배수 이면서 5의 배수인 요소 인덱싱
#3의 배수 이거나 5의 배수인 요소 인덱싱
a = np.arange(1,31)
index1 = a[(a%2==0) & (a%5==0)]
index2 = a[(a%2==0) | (a%5==0)]
print(index1)
print(index2)

2013-01-03 ~ 2013-01-05 B와 C 컬럼에있는 값을 선택해보세요.
2013-01-05, D에 해당하는 값을 선택해보세요
#2013-01-03 ~ 2013-01-05 B와 C 컬럼에있는 값을 선택
df.loc['2013-01-03':'2013-01-05', ['B','C']]

#2013-01-05, D에 해당하는 값을 선택해보세요
df.at['2013-01-05', 'D']
