亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas - 將多個數據框寫入單個 Excel 工作表

Pandas - 將多個數據框寫入單個 Excel 工作表

慕婉清6462132 2021-11-02 20:08:39
我有一個包含 45 列和 1000 行的數據框。我的要求是創建一個單獨的 Excel 工作表,其中包含每列的前 2 個值及其百分比(假設第 1 列的值 'python' 在其中出現 500 次,百分比應為 50)我用了:    writer = pd.ExcelWriter('abc.xlsx')    df = pd.read_sql('select * from table limit 1000', <db connection sring>)    column_list = df.columns.tolist()    df.fillna("NULL", inplace = True)    for obj in column_list:        df1 = pd.DataFrame(df[obj].value_counts().nlargest(2)).to_excel(writer,sheet_name=objwriter.save()這會將輸出寫入同一文檔的單獨 excel 選項卡中。我需要它們在以下格式的單個工作表中:Column Name          Value         Percentagecol1                 abc           50col1                 def           30col2                 123           40col2                 456           30....讓我知道任何其他功能以及獲得此輸出。
查看完整描述

1 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

跳出來的第一件事是,您每次都在更改工作表名稱,說sheet_name=obj如果您擺脫它,僅此一項就可以解決您的問題。


如果沒有,我建議將結果連接到一個大型 DataFrame 中,然后將該 DataFrame 寫入 Excel。


for obj in column_list:

    df = pd.DataFrame(df[obj].value_counts().nlargest(2))

    if df_master is None:

        df_master = df

    else:

        df_master = pd.concat([df_master,df])

df_master.to_excel("abc.xlsx")

以下是有關在 Pandas 中堆疊/連接數據幀的更多信息 https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html


查看完整回答
反對 回復 2021-11-02
  • 1 回答
  • 0 關注
  • 330 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號