[Error/Python] Value error: if you using all scalar values you must pass an index

2024. 12. 25. 11:16개인활동/기타

반응형

Python Dictionary 자료형을 Pandas DataFrame 형태로 변환하는 과정에서 발생한 에러

data = {
	"key1" : 3,
    	"key2" : 40,
    	"key3" : 20
	}

 

다음과 같은 데이터를 테이블 형태로 변환하고자 한다면 이는

행(row)이 1개, 열(column)이 3개 존재하는 테이블이 될 것이다.

 

df = pd.DataFrame(data)

 

이를 데이터 프레임으로 변환할 때 다음과 같이 코드를 짠다면 아래와 같은 오류가 발생한다.

 

Value error: if you using all scalar values you must pass an index

 

이런 에러가 뜨는 이유를 추측해보았을 때

 

1. 딕셔너리 자료형은 순서가 없다 -> 데이터를 변환할 때 어떤 데이터와 같은 행을 이루어야 하는지 등이 명확하지 않다

2. 리스트 자료형은 순서가 있다 -> 같은 순번에 있는 데이터와 짝이라는 것이 명확하다

 

해당 오류에서 이야기하는 Scalar는 벡터와 스칼라 할 때 그 스칼라를 의미하는 것으로 보인다.

따라서 행이 1개인 데이터 프레임을 만들려고 하더라도 무조건 인덱스가 필요하다는 것

 

인덱스가 필요하다는 것은 순서가 필요하다는 의미로 다음과 같이 문제를 해결할 수 있다.

data = {
	"key1" : [3],
    	"key2" : [40],
    	"key3" : [20]
	}
    
df = pd.DataFrame(data)
반응형