본문 바로가기

[Python] WARNING: You are using pip version xx.xx.xx; however, version yy.yy.yy is available. WARNING: You are using pip version 20.2.4; however, version 20.3.3 is available. You should consider upgrading via the 'C:\Programs\Python3964\python.exe -m pip install --upgrade pip' command. 파이썬에서 패키지를 인스톨하기 위한 pip install 명령을 실행했을 때, 제목과 같은 "경고"메시지가 발생할 때가 있다. 일단, "경고" 메시지이므로, 이 메시지는 당신이 원래 설치하려던 패키지가 설치되었는지와는 (일반적으론) 상관이 없다. (버전의 차이가 너무너무 심하게 난다면, pip 버전이 낮아서 설치가 안 되었을 수도 있었다. 하지만 2021년 기준으로..
[Python] 리스트를 딕셔너리의 키로 사용하려 하는데 에러가 발생한다. TypeError: unhashable type 리스트를 딕셔너리의 키로 사용하려 하면 에러가 발생한다. 이럴 때에는 리스트를 튜플(tuple)로 변환하면 키로 사용할 수 있다. 아래 간단한 샘플코드를 참조하면 되겠다. >>> d = {} >>> l = [1,2] >>> d[l] = 33 Traceback (most recent call last): File "", line 1, in d[l] = 33 TypeError: unhashable type: 'list' >>> d[[3,7]] = 27 Traceback (most recent call last): File "", line 1, in d[[3,7]] = 27 TypeError: unhashable type: 'list' >>> d[tuple(l)] = 33 >>> d {(1, 2): 33} >..
[R] read_csv vs. read.csv R을 조금씩 익히고 있다. 책에서 배운 것은 read.csv 였는데, codecademy 의 Learn R 코스에서는 read_csv 를 쓰고 있었다. 무슨 차이인지 궁금했다. 구글링해서 medium.com/r-tutorials/r-functions-daily-read-csv-3c418c25cba4 와 같은 아티클을 발견했다. 이 글에 따르면, read_csv 는 데이터를 읽은 결과가 tibble 이라는 형식이고, read.csv 는 일반적인 R dataframe 이다. read_csv 는 tidyverse의 readr 패키지의 함수이다. (따라서 install , library 명령이 필요하다.)
[파이썬] 2020년 탑10 파이썬 라이브러리 tryolabs.com/blog/2020/12/21/top-10-python-libraries-of-2020/ Top 10 Python libraries of 2020 you should know about | Tryolabs Blog There are so many amazing Python libraries out there that it's hard to keep track of all of them. That's why we share with you our hand-picked selection of some top libraries. tryolabs.com Typer : Type + Cli Rich : color cli Dear Pygui : gui PrettyErrors : stack tra..
엘라스틱서치 elasticsearch-py, elasticsearch-dsl 에서 검색결과를 모두 가져오기. (덤 pandasticsearch) python 을 이용하여, 엘라스틱의 검색결과를 가져오기 위해서, elasticsearch-py 와 elasticsearch-dsl 패키지를 이용해 보았다. 검색이 잘 되었으나, 검색결과를 10개만 가져왔다. 아래 elasticsearch-py 코드샘플과 elasticsearch-dsl 코드샘플을 보자. >>> client = Elasticsearch(['http://nightly.apinf.io:14002']) >>> search = Search(using=client) >>> results = search.execute() >>> results.hits.total 9611 >>> len(results.hits.hits) 10 ## src : https://github.com/elastic/elasti..
[Anaconda] conda install 과 pip install 은 똑같은 걸까? 일전에 아나콘다에서의 패키지 설치라는 포스팅을 하였다. 아나콘다에서는 되도록 pip install 보다는 conda install 을 사용하고, 부득이하게 pip install 을 사용해야 하는 조건, pip 의 사용했을 때 이후의 관리에 대해 내가 지키고 있는 원칙을 썼다. 아나콘다에서는 pip 보다 conda 로 패키지를 관리하는 편이 좋다. conda 가 pip보다 패키지 의존성을 더 잘 관리해 주고, pip 에서는 미리빌드된 패키지가 아닌 소스 패키지가 내려와서 cpp 빌드를 시도하다가 에러가 발생하는 경우도 가끔 있는데, 아나콘다의 conda 패키지는 운영체제 플랫폼에 맞추어 미리 빌드된 패키지들이 깔리기 때문에, cpp 빌드 환경설정이 필요 없기 때문이다. (그렇다, pip와 conda 로 인..
[통계학|scipy] 정규분포 모집단의 표본분산의 분포는 정말 카이제곱분포를 따를까 카이제곱 분포(χ2 분포)는 정규분포를 따르는 모집단에서 k개의 샘플을 뽑았을 때의 샘플의 분산의 분포가 된다고 한다. 이게 정말 그런가 궁금해서, python scipy.stats 을 이용해서 실험을 해 보았다. (첫 문장에서 분산의 분포라고 했지만, 사실 제곱합의 분포다. 평균이 0인 확률변수의 분산은 결국 제곱합/k 일 뿐이니까 이렇게 퉁치자.) import numpy as np import pandas as pd import scipy as sc import scipy.stats import seaborn as sns import matplotlib.pyplot as plt dist = scipy.stats.norm() def plot_chisq(df, ax): x = np.linspace(0, ..
[통계학|Scipy] scipy 로 정규분포 그래프 + 구간확률 구하기. 문제 : 모평균이 50.2이고 모분산이 48인 어떤 모집단으로부터 크기가 100인 표본이 임의추출되었다고 할 때 표본평균이 47에서 51 사이에 있을 확률을 구해보자. scipy.stats 에 보면, norm 이라는 클래스가 있다. 정규분포를 다룰 수 있는 클래스를 만들어준다. 정규분포는 평균과 표준편차 두 수치로 결정된다. norm 클래스 생성자 인자도 이 두개. 문제에서 표분평균의 표본분산은 모분사/표본크기 이고, 중심극한정리에 따라 정규분포를 따른다. N(x, m=502, sig^2=48/100) 을 구하면 된다. 구간의 확률은 norm 클래스의 cdf 함수의 차로 구할 수 있다. import numpy as np import matplotlib.pyplot as plt import scipy as..