본문 바로가기

IT 실무153

[파이썬] NaN 제외하고 unique 값 얻기 파이썬(Python)에서 unique()를 사용하면 NaN이 포함된 유일값들이 array로 반환된다. 언뜻 생각하기에 뭔가 NaN을 포함시키지 않는 옵션이 있을 것 같고, NaN이 포함된 array에서 NaN을 쉽게 제거할 수 있을 것 같지만 의외로 까다롭다. 까다롭다는 게 복잡한 코드를 써야 한다는 건 아니지만, 머리속으로 유추하기 어렵고 검색은 통해야 하는 정도. 방법1. 애초에 NaN을 지우고 unique() 를 사용한다. 직관적이지만 불필요한 연산이 들어간다. 기존 데이터가 무겁지 않다면 이 방법도 괜찮다. labels = targetData.dropna().unique() 방법2. unique() 사용 후 NaN을 지운다. 아래와 같은 코드를 사용해야 한다. labels = targetData... 2020. 8. 2.
[파이썬] AxesSubplot 에서 bar(Rectangle) 추출하기 파이썬(Python)에서 바 그래프에서 바에 색깔을 입히거나 라벨링 등을 하려고 하려면 그래프를 구성하는 바를 반복문으로 돌려 처리하곤 한다. 예를 들면 아래와 같은 식이다. bars = plt.bar(index, dfdate) for rect in bars: height = rect.get_height() plt.text(rect.get_x() + rect.get_width()/2.0, height+20, '%d' % int(height), ha='center', va='bottom') plt.title("제목", fontsize=20) plt.show() 위의 예시에서 bars는 BarContainer이므로, 반복문을 통해 bar를 하나씩 뽑아낼 수 있다. 그런데 위의 예시와 달리, 그래프를 그리는 .. 2020. 8. 2.
[파이썬 트러블슈팅] TypeError: 'NoneType' object is not subscriptable(정렬 사용후) 에러 코드 # my_list를 정렬해 앞의 5개만 출력하고 싶다. my_list = my_list.sort() print(my_list[:5]) list.sort() 는 리스트를 변환 시킨 후 아무것도 반환하지 않는다. 그래서 sort의 반환값을 사용하려고 하면 에러가 발생하는 것이다. 아래와 같이 하면 에러를 발생시키지 않는다. sort() 한 결과를 기존 배열에 할당 시키는건 기존 배열을 지워버리는 것과 마찬가지다. 아래와 같이 하면 에러가 발생하지 않는다. 수정 코드 my_list.sort() print(my_list[:5]) 만약 원본 데이터인 my_list가 변경되는 것이 싫다면 아래와 같이 표현할 수도 있다. 수정 코드 print(sorted(my_list)[:5]) 2020. 8. 2.
[파이썬 트러블슈팅] TypeError: cannot perform reduce with flexible type 주로 숫자형 데이터가 아닌 대상으로 수치 연산을 시도할 경우에 발생한다. 언뜻 숫자 같아 보이는 데이터도 실제론 문자형인 경우가 있다. target_data = ['-214' '-153' '-58' ..., '36' '191' '-37'] 이런 경우 아래와 같이 변환해 주어야 한다. import numpy as np target_data.astype(np.int64) 2020. 8. 2.
Permission denied: cannot read directory for multi 이 오류는 (13)Permission denied: cannot read directory for multi AH00686: cannot read directory for multi 과 같은 형태로 아파치 로그에서 발견된다. 메시지만 보면 명백히 퍼미션 오류 같다. 실제로 퍼미션이 잘못 설정되어 있어 아차하고 수정하고 해결되는 경우도 있으나, 저 메시지는 실제론 퍼미션으로 풀어낼 수 없는 경우가 많다. 이 오류는 MultiView 옵션이 활성화되었고, public_html 의 퍼미션이 711인 경우 발생할 수 있다. 일반적으로 보안상의 이유로 홈 디렉터리(웹에서 접근하는 디렉터리)는 퍼미션이 711(rwx--x--x)일 것이다. 디렉터리에서 '실행 권한'이 의미하는 것은, 당신이 만약 디렉터리 내에 위치.. 2020. 3. 16.
yum install/update 과정에서 pre-existing rpmdb 문제 ** Found 17 pre-existing rpmdb problem(s), 'yum check' output follows: cloog-ppl-0.15.7-1.2.el6.x86_64 has missing requires of libgmp.so.3()(64bit) goaccess-1.2-1.el6.x86_64 has missing requires of libtokyocabinet.so.8()(64bit) libkadm5-1.10.3-65.el6.x86_64 has missing requires of krb5-libs(x86-64) = ('0', '1.10.3', '65.el6') libkadm5-1.10.3-65.el6.x86_64 has missing requires of libkdb5.so.6()(6.. 2020. 2. 23.