Language/Python / / 2022. 2. 4. 14:50

Python DataFrame - ValueError("If using all scalar values, you must pass an index" 에러

반응형

Dictory를 DataFrame 으로 만들려고 하는데 자꾸  raise ValueError("If using all scalar values, you must pass an index") 에러가 발생을 했다.

 

이러한 에러의 해결 방안을 알아보자.

 

이 에러가 나는 경우는 모든 값이 스칼라 값(If using all scalr values) 일 경우에 에러가 발생한다.

 

 

test_dict = {'col_1':1, 'col_2': 2}

 

이런 형식일 경우 에러가 발생하는 것이다.

 

기본적으로  DataFrame 에 들어갈 값은

df = pd.DataFrame({'col_1':[1,2,3,4], 'col_2':[1,2,3,4]})

 

이런 형식으로 들어가야 한다.

 

그래서 해결 방법은 4가지 방법이 존재한다.

 

  1. index 값 추가
  2. 값을 리스트로 변환
  3. pd.DataFrame.from_records() 사용
  4. pd.DataFrame.from_dict([])  사용

 

index 값 추가

df = pd.DataFrame({'col_1':1, 'col_2':2}, index=[0])

 

값을 리스트로 변환

df = pd.DataFrmae({'col_1':[1], 'col_2': [2]})

 

pd.DataFrame.from_records() 사용

 

df = pd.DataFrame.from_records([{'col_1': 1, 'col_2': 2}])

 

 

pd.DataFrame.from_dict([])  사용

df = pd.DataFrame.from_dict([{'col_1': 1, 'col_2': 2}])

 

 

 

이러한 방법 중에 자신에게 맞는 방법을 선택하시면 됩니다.

 

에러를 잡는데 도움이 되었으면 좋겠습니다.

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유