ValueError: DataFrame-constructor niet correct aangeroepen! met panda’s

Ik heb de volgende fout ValueError: DataFrame constructor not properly called!, maar ik kan niet zeggen wat het probleem is. Suggesties?

Ik wil een titel bovenaan een werkblad plaatsen, maar ik weet niet of dit de beste methode is. Kan iemand mij iets aanraden met panda’s?


Antwoord 1, autoriteit 100%

Het lijkt erop dat je listnodig hebt:

df2 = pd.DataFrame(['Test'])
print (df2)
      0
0  Test

BEWERKEN:

Het lijkt erop dat je nodig hebt:

def multiple_dfs(file_name, sheet, *args):
    """
    Put multiple dataframes into one xlsx sheet
    """
    row=2
    writer = pd.ExcelWriter(file_name)
    df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice'], 
               'income': [40000, 50000, 42000]})
    df2 = pd.DataFrame({'amount': [100, 500, 1000], 
               'income': [40000, 50000, 42000]})
    df3 = pd.DataFrame(['Title'])
    df.to_excel(writer, sheet, startrow=row, index=False)
    row += len(df) + 1
    df2.to_excel(writer, sheet, startrow=row, index=False)
    df3.to_excel(writer, sheet, startrow=0, startcol=0, header=None, \
             index=False)
multiple_dfs('file.xlsx','Sheet1')

Antwoord 2

Net dezelfde fout tegengekomen. Mijn code werkte prima op mijn computer en die zag er als volgt uit:

test_dict = {'x': '123', 'y': '456', 'z': '456'}
df=pd.DataFrame(test_dict.items(),columns=['col1','col2'])

Het werkte echter niet op een ander platform. die me de fout gaf ValueError: DataFrame constructor not properly called!net als de oorspronkelijke vraag.

Ik heb onderstaande code geprobeerd door simpelweg de list()rond het woordenboekitem toe te voegen,

df=pd.DataFrame(list(test_dict.items()),columns=['col1','col2'])

en het werkte probleemloos!

Hopelijk kan dit antwoord iedereen helpen die een soortgelijke situatie als ik tegenkwam.

Other episodes