본문 바로가기
728x90
반응형

Python3

[Pandas] UnicodeDecodeError: 'utf-8' codec can't decode byte 해결방법 증상 Pandas api로 csv파일을 읽을 때, 다음과 같은 UnicodeDecodeError가 날 수 있다. df = pd.read_csv('test.csv') 이 에러는 읽어드릴 파일의 포맷이 UTF-8이 아니기 때문에 발생한다. 해결 위의 pandas.read_csv 함수를 보면 encoding/encoding_errros이란 변수가 있고, 이것들의 디폴트는 각각 None과 strict이다. 이 변수값을 따로 지정해주면 에러를 해결할 수 있다. 두 가지 방법이 있다. 1. 인코딩 에러를 무시하는 방법 (encoding_errors='ignore') 첫번 째 방법은 이 에러를 무시하는 것이다. 다음과 같이 encoding_errors를 ignore로 하면 해결할 수 있다. df = pd.read_c.. 2022. 4. 13.
[Python] Pandas 'settingWithCopyWarning' 경고 메세지 없애기 증상 df2 = df[['A']] df2['A'] /= 2 df2 A 0 2.5 1 4.5 2 3.5 해결 방법 1. (recommended) Use loc to lice subsets df2 = df.loc[:, ['A']] df2['A'] /= 2 # Does not raise 2. pd.options.mode.chained_assignment 모드 변경 pd.options.mode.chained_assignment = None df2['A'] /= 2 3. Make a deepcopy df2 = df[['A']].copy(deep=True) df2['A'] /= 2 References stackoverflow.com/questions/20625582/how-to-deal-with-settingwit.. 2021. 5. 9.
[Python] How to flatten a matrix (행렬을 1차원 배열로 전환하기) [Python] How to flatten a matrix (행렬을 1차원 배열로 전환하기) 행렬을 다룰때 어떤 목적에 의해서 1차원 배열로 전환해야 할 때가 있습니다. 대표적인 경우는 머신러닝에서 이미지 분석시 이미지의 2차원 밝기 행렬을 1차원으로 변환하여 네트워크게 입력하게 됩니다. 이 변환은 어려운 것은 아니지만 몇가지 방법이 있어 정리해 보았습니다. 새로운 방법이 나오면 계속 추가할 예정입니다. 한가지 기억해야 할 점은 열을 이어 붙이는 방식으로 변환이 이루어진다는 것이고, 변환된 1차원 배열의 길이는 column*row가 됩니다. 방법 1. mat = [[1,2,3],[4,5,6],[7,8,9]] arr =[] for i in range(len(mat)): for j in range(len(m.. 2020. 11. 9.
728x90
반응형