728x90
반응형
에러 원인 코드)
import pandas as pd
dict = {
'a': 1,
'b': 2,
'c': 3,
}
df = pd.DataFrame(dict)
결과)
ValueError: If using all scalar values, you must pass an index
Dictionary를 DataFrame으로 변환할 때 위의 에러가 발생했다.
에러 원인은 모든 값(Value)이 스칼라이기 때문이다.
이 에러 해결 방법은 다음 4가지가 있다.
# 1. index 값 지정
dict = {
'a': 1,
'b': 2,
'c': 3,
}
df = pd.DataFrame(dict, index=[0])
print(df)
# a b c
# 0 1 2 3
# 2. dictionary의 키, 값을 리스트로 변환
dict = {
'a': 1,
'b': 2,
'c': 3,
}
df = pd.DataFrame(list(dict.items()))
print(df)
# 0 1
# 0 a 1
# 1 b 2
# 2 c 3
# 2. dictionary의 키, 값을 리스트로 변환
dict = {
'a': 1,
'b': 2,
'c': 3,
}
df = pd.DataFrame({'0': list(dict.keys()), '1': list(dict.values())})
print(df)
# 0 1
# 0 a 1
# 1 b 2
# 2 c 3
# 2. dictionary의 키, 값을 리스트로 변환
dict = {
'a': 1,
'b': 2,
'c': 3,
}
df = pd.DataFrame({'0': dict.keys(), '1': dict.values()})
print(df)
# 0 1
# 0 a 1
# 1 b 2
# 2 c 3
# 3. pd.DataFrame.from_records() 사용
dict = {
'a': 1,
'b': 2,
'c': 3,
}
df = pd.DataFrame.from_records([dict])
print(df)
# a b c
# 0 1 2 3
# 4. pd.DataFrame.from_dict([]) 사용
dict = {
'a': 1,
'b': 2,
'c': 3,
}
df = pd.DataFrame.from_dict([dict])
print(df)
# a b c
# 0 1 2 3
Reference
반응형
'Programming Language > [Python]' 카테고리의 다른 글
[Python] pytimekr 패키지 (0) | 2024.03.22 |
---|---|
[Python] selenium.common.exceptions.ElementClickInterceptedException (1) | 2024.02.28 |
[Python] UUID로 고유 식별자 만들기 (0) | 2023.09.15 |
[Python] pandas dataframe 행/열 count (0) | 2023.07.12 |
[Python] pymysql connection option (0) | 2023.06.21 |