iT邦幫忙

0

求救 : dataframe跑版

  • 分享至 

  • xImage

我是用Python來寫程式的,然後有使用到pandas這個模組,我原本想用pandas裡的函數merge來做資料的"聯集"和"交集",結果做完後卻變成第二張圖這樣
https://ithelp.ithome.com.tw/upload/images/20220927/20137686Bnn0A7qy68.jpg
https://ithelp.ithome.com.tw/upload/images/20220927/20137686lAalfjf7cB.jpg
請問大家有什麼方式可以解決呢?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
I code so I am
iT邦高手 1 級 ‧ 2022-09-28 10:14:37
最佳解答

使用中文print,確實會造成排版錯亂,直接顯示dataframe變數,Jupyter 會轉成 html table顯示,故排列會整齊,也可以使用下列指令:

from IPython.display import display
display(df1)

非常感謝你的解答

0
tryit
iT邦研究生 4 級 ‧ 2022-09-28 02:11:32

因為我看你的code個人覺得沒什麼問題,
理論上來說應該會是排版整齊的東西。
我會嘗識的作法有兩項

  1. 檢查py裡所儲存的東西:我這邊沒看到你py裡存的東西長什麼樣子,或許裡面亂七八糟一堆空格但不知道
    我這邊亂打了一些東西,這確實會造成排版便神奇的現象
import pandas as pd
data1 = pd.DataFrame({"longlongKey":["A1","A2","A3","A4"],
                      "  sK ":["BBBBBB1         ","BBBBBB2","BBBBBB3","BBBBBB4"],
                      "  midKey  ":["CC1","CC2","CC3","CC4"]})
data2 = pd.DataFrame({"longlongKey":["A1","A2","A3","A4"],
                      "  LKK   ":["LLLL1","L2","LLLLLLLLLLLLL3","LLLLL4"],
                      "    NMS":["NMNMNMNMN1","1","             2       ","3"]})
r = pd.merge(data1,data2,how="outer")
print(r)

https://ithelp.ithome.com.tw/upload/images/20220928/20108649ZbXyQAXZ4x.png
2. 或許是編譯器排版跑掉,嘗試用其他編譯器試試看。我個人沒用過jupyter,所以我會想會不會是jupyter的問題

以上僅供參考,我個人沒遇過這樣的狀況,也很好奇到底是什麼原因,若有找到答案可以煩請告知我一聲感謝~

已經有人解答了,也很謝謝你的回答

0
HYHuang
iT邦新手 5 級 ‧ 2022-09-28 09:39:23

如果直接輸出呢,不用print的話

這樣做就不會跑版了~謝謝你的建議

我要發表回答

立即登入回答