이것은 간단한 질문 일지 모르지만 어떻게 해야하는지 알 수 없습니다. 다음과 같이 두 가지 변수가 있다고 가정 해 봅시다.
a = 2
b = 3
이로부터 DataFrame을 구성하고 싶습니다.
df2 = pd.DataFrame({'A':a,'B':b})
오류가 발생합니다.
ValueError : 모든 스칼라 값을 사용하는 경우 인덱스를 전달해야합니다
나는 이것을 시도했다 :
df2 = (pd.DataFrame({'a':a,'b':b})).reset_index()
동일한 오류 메시지가 나타납니다.
답변
스칼라 값을 전달하는 경우 인덱스를 전달해야한다는 오류 메시지가 표시됩니다. 따라서 열에 스칼라 값을 사용할 수 없습니다 (예 : 목록 사용).
>>> df = pd.DataFrame({'A': [a], 'B': [b]})
>>> df
A B
0 2 3
또는 스칼라 값을 사용하고 색인을 전달하십시오.
>>> df = pd.DataFrame({'A': a, 'B': b}, index=[0])
>>> df
A B
0 2 3
답변
pd.DataFrame.from_records
사전을 이미 가지고있을 때 더 편리한 것을 사용할 수도 있습니다 .
df = pd.DataFrame.from_records([{ 'A':a,'B':b }])
원하는 경우 색인을 다음과 같이 설정할 수도 있습니다.
df = pd.DataFrame.from_records([{ 'A':a,'B':b }], index='A')
답변
먼저 팬더 시리즈를 만들어야합니다. 두 번째 단계는 팬더 시리즈를 팬더 데이터 프레임으로 변환하는 것입니다.
import pandas as pd
data = {'a': 1, 'b': 2}
pd.Series(data).to_frame()
열 이름을 제공 할 수도 있습니다.
pd.Series(data).to_frame('ColumnName')
답변
사전을 목록에 배치하려고 시도 할 수 있습니다.
my_dict = {'A':1,'B':2}
pd.DataFrame([my_dict])
A B
0 1 2
답변
아마도 Series는 필요한 모든 기능을 제공 할 것입니다.
pd.Series({'A':a,'B':b})
DataFrame은 Series의 모음으로 생각할 수 있습니다.
답변
Pandas DataFrame 열의 값으로 이터 러블을 제공해야합니다.
df2 = pd.DataFrame({'A':[a],'B':[b]})
답변
나는 numpy 배열과 같은 문제가 있었고 해결책은 그것들을 평평하게하는 것입니다.
data = {
'b': array1.flatten(),
'a': array2.flatten(),
}
df = pd.DataFrame(data)