반응형
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가지 방법이 존재한다.
- index 값 추가
- 값을 리스트로 변환
- pd.DataFrame.from_records() 사용
- 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}])
이러한 방법 중에 자신에게 맞는 방법을 선택하시면 됩니다.
에러를 잡는데 도움이 되었으면 좋겠습니다.
반응형