簡體   English   中英

ValueError:未正確調用 DataFrame 構造函數! 與熊貓

[英]ValueError: DataFrame constructor not properly called! with pandas

def multiple_dfs(file_name, sheet, *args):
    """
    Put multiple dataframes into one xlsx sheet
    """

    row=2
    writer = pd.ExcelWriter(file_name, engine='openpyxl')

    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 += 2
    df2.to_excel(writer, sheet, startrow=row, index=False)
    df3.to_excel(writer, sheet, startrow=0, startcol=0, header=None, \
             index=False)

我有以下錯誤ValueError: DataFrame constructor not properly called! ,但我不能說是什么問題。 有什么建議嗎?

我想在工作表的頂部放置一個標題,但我不知道這是否是最佳做法。 誰能給我推薦一些關於熊貓的東西?

看來你需要list

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

編輯:

看來你需要:

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')

剛剛遇到了同樣的錯誤。 我的代碼在我的計算機上運行良好,如下所示:

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

但是,它在另一個平台上不起作用。 這給了我錯誤ValueError: DataFrame constructor not properly called! 就像原來的問題一樣。

我通過簡單地在字典項周圍添加list()來嘗試下面的代碼,

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

它工作順利!

希望這個答案可以幫助像我一樣遇到類似情況的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM