본문 바로가기
파이썬 데이터분석

tips.corr() ValueError: could not convert string to float: 'No'

by 데이터스토리 2023. 12. 3.
반응형

파이썬에서 tips.corr() 작업을 하는 데  ValueError: could not convert string to float: 'No' 에러가 발생했다. 분명 tips에 있는 데이터셑의 숫자 부분만 상관계수 작업을 했느데, 왜 안되는 거지 ?

 

tips.corr()
tips.corr()

 

 

tips.corr() 작업

관련 블로그를 보면 tips.corr() 결과에 수치 부분만 작업하 결과를 보여 주었다. 그런데 안되었다.

tips.corr() 은 tips 데이터셑 속성간의 상관계수를 보여주는 기능이다.

아래 그림처럼 data.corr() 하면 상관계수가 나와 주었다.

 

 

tips.corr() 에러 원인

실행을 하면 나타나는 에러 메세지

 

ValueError: could not convert string to float: 'No'

 

를 가지고 원인을 찾으니, corr() 함수는 수치 속성을 대상으로 하기 때문이란다.

그러면 예전에는 왜 되었을까 ?

그래서 Help를 보았다.

 

tips.corr() 의 괄호에 커서를 두고 Shift + Tab 을 눌렀다. 그러면 이 함수에 대한 설명이 나오기 때문이다.

내용을 아래로 읽어가니, 2.0 버젼 이후 부터는 바뀌었다는 메세지가 나온다.

 

 

 

 

 

<메세지 내용>

Signature:
tips.corr(
    method: 'CorrelationMethod' = 'pearson',
    min_periods: 'int' = 1,
    numeric_only: 'bool' = False,
) -> 'DataFrame'
Docstring:
Compute pairwise correlation of columns, excluding NA/null values.
. . .
numeric_only : bool, default False
      Include only `float`, `int` or `boolean` data.

    .. versionadded:: 1.5.0

   .. versionchanged:: 2.0.0
         The default value of ``numeric_only`` is now ``False``.

 

즉, 2,0,0 이후 부터  numeric_only = False 가 default 값이란다.

 

그래서 판다스 버젼을 확인해 보았다. 2.0.3 이다. 그래서 안되었던 것이었다.

 

print(pd.__version__)


>>> output: 2.0.3

 

 

tips.corr()  해결

 

반응형

 

결국 해결 했다. 파라메터를 추가하면 되었던 것이다.

 

tips.corr(numeric_only=True)

 

tips.corr(numeric_only=True)


>>> output
        	total_bill	  tip	     size
total_bill	1.000000	0.675734	0.598315
tip	        0.675734	1.000000	0.489299
size	    0.598315	0.489299	1.000000

 

결과는 잘 나온다. 이 데이터셑으로 heatmap을 그렸다.

 

sns.heatmap(tips.corr(numeric_only=True), annot=True)
plt.show()

 

 

total_bill과 tip의 관계는 양의 상관관계를 가지고 있었다. 반면 tip 과 size 와는 0.49 로선 상관관계가 거의 없었다. 아무래도 Tip은 전체 금액이 많아야 많아 지는 관계가 있음을 데이터로 증명할 수 있었다.

 

이렇게 파이썬에서 작업한 tips.corr() 의 Error "(ValueError: could not convert string to float: 'No' ) 는 tips.corr(numeric_only=True)로 해결을 했다.  그 결과 데이터로 Heatmap 까지 생성하게 되었다.

 

 

>> 같이 살펴보기

 

 

파이썬 데이터프레임 여러개를 한번에 출력하기 display

데이터 분석을 하면 찾는게 파이썬이다. 사용하는 라이브러리는 판다스(Pandas)이다. 판다스에는 데이터프레임이라는 구조체가 있다. 엑셀과 같이 행과 열을 가지는 구조다, 데이터분석에는 데이

twdatastory.tistory.com

 

 

 

 

파이썬 Tip - 함수 도움말 부르기 코멘트 처리

파이썬 Tip 입니다. 사용할 함수의 도움말을 부르는 방법과 코멘트를 처리하는 방법입니다. 파이썬 명령어의 함수는 자주 사용하지 않으면 잊어버리게 됩니다. 이때, 예제 하나라고 있으면 좋겠

twdatastory.tistory.com

 

 

[파이썬] (unicode error) 'unicodeescape' codec can't decode bytes

변수에서 파일위치를 배치한 부분에서 에러가 발생했다. 그림의 하단에 있는 "SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape" 이다. "... truncated \UXXXXXXXX...

twdatastory.tistory.com

 

반응형