[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)
반응형