解決Python?Pandas?DataFrame表格打印輸出不能對(duì)齊的問(wèn)題
最近在學(xué)數(shù)據(jù)分析,中英文混合的DataFrame表格會(huì)出現(xiàn)print()打印無(wú)法對(duì)齊的情況,導(dǎo)致輸出的結(jié)果都沒(méi)有對(duì)齊,十分不美觀,也影響直觀的分析。
下面介紹兩種解決方案,總有一款適合你:
準(zhǔn)備工作:
為演示方便,通過(guò)導(dǎo)入excel的方式建立名為’stu’, ‘stu2’ 的兩個(gè)DataFrame格式對(duì)象
import pandas as pd stu = pd.read_excel('Data\studentsInfo.xlsx','Group1',index_col=0) stu.dropna(inplace=True) stu2 = pd.read_excel('Data\studentsInfo.xlsx','Group1',index_col=0)
1.適用于純文本輸出print()函數(shù)的設(shè)置方法
若在IDLE等純文本輸出的環(huán)境下,使用display()函數(shù)或print()函數(shù)都只能輸出純文本形式的表格,
如下:
由于中英文混合的關(guān)系導(dǎo)致列沒(méi)有對(duì)齊
通過(guò)pd.set_option進(jìn)行設(shè)置,
代碼如下:
pd.set_option('display.unicode.ambiguous_as_wide', True) pd.set_option('display.unicode.east_asian_width', True) pd.set_option('display.width', 180) # 設(shè)置打印寬度(**重要**) print(stu)
輸出如下:
注意:如果打印寬度設(shè)置過(guò)小或保持默認(rèn),則有可能出現(xiàn)表格的列被強(qiáng)制換行的情形:
2.適用于JupyterNotebook的格式化的表格輸出
若在JupyterNotebook中直接輸出DataFrame格式,則是有線框的HTML格式的表格
代碼如下:(以下代碼均是JupyterNotebook的cell中運(yùn)行的)
stu
輸出如下:(是一個(gè)HTML格式的表格)
性別 | 年齡 | 身高 | 體重 | 省份 | 成績(jī) | 月生活費(fèi) | 課程興趣 | 案例教學(xué) | |
---|---|---|---|---|---|---|---|---|---|
序號(hào) | |||||||||
2 | male | 22.0 | 180 | 71.0 | GuangXi | 77.0 | 1300.0 | 3 | 4 |
4 | male | 20.0 | 177 | 72.0 | LiaoNing | 79.0 | 900.0 | 4 | 4 |
6 | male | 20.0 | 179 | 75.0 | YunNan | 92.0 | 950.0 | 5 | 5 |
7 | female | 21.0 | 166 | 53.0 | LiaoNing | 80.0 | 1200.0 | 4 | 5 |
8 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
9 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
10 | male | 19.0 | 169 | 76.0 | HeiLongJiang | 88.0 | 1100.0 | 5 | 5 |
但是這種方式無(wú)法同時(shí)在一個(gè)cell中顯示兩個(gè)表格,只顯示最后一個(gè)表格
代碼如下:
stustu2
輸出如下:
性別 | 年齡 | 身高 | 體重 | 省份 | 成績(jī) | 月生活費(fèi) | 課程興趣 | 案例教學(xué) | |
---|---|---|---|---|---|---|---|---|---|
序號(hào) | |||||||||
1 | male | 20.0 | 170 | 70.0 | LiaoNing | NaN | 800.0 | 5 | 4 |
2 | male | 22.0 | 180 | 71.0 | GuangXi | 77.0 | 1300.0 | 3 | 4 |
3 | male | NaN | 180 | 62.0 | FuJian | 57.0 | 1000.0 | 2 | 4 |
4 | male | 20.0 | 177 | 72.0 | LiaoNing | 79.0 | 900.0 | 4 | 4 |
5 | male | 20.0 | 172 | NaN | ShanDong | 91.0 | NaN | 5 | 5 |
6 | male | 20.0 | 179 | 75.0 | YunNan | 92.0 | 950.0 | 5 | 5 |
7 | female | 21.0 | 166 | 53.0 | LiaoNing | 80.0 | 1200.0 | 4 | 5 |
8 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
9 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
10 | male | 19.0 | 169 | 76.0 | HeiLongJiang | 88.0 | 1100.0 | 5 | 5 |
為了在一個(gè)cell 輸出多個(gè)表格,可以使用IPython.display,
代碼如下:
from IPython.display import display display(stu) display(stu2)
輸出如下:
性別 | 年齡 | 身高 | 體重 | 省份 | 成績(jī) | 月生活費(fèi) | 課程興趣 | 案例教學(xué) | |
---|---|---|---|---|---|---|---|---|---|
序號(hào) | |||||||||
2 | male | 22.0 | 180 | 71.0 | GuangXi | 77.0 | 1300.0 | 3 | 4 |
4 | male | 20.0 | 177 | 72.0 | LiaoNing | 79.0 | 900.0 | 4 | 4 |
6 | male | 20.0 | 179 | 75.0 | YunNan | 92.0 | 950.0 | 5 | 5 |
7 | female | 21.0 | 166 | 53.0 | LiaoNing | 80.0 | 1200.0 | 4 | 5 |
8 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
9 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
10 | male | 19.0 | 169 | 76.0 | HeiLongJiang | 88.0 | 1100.0 | 5 | 5 |
性別 | 年齡 | 身高 | 體重 | 省份 | 成績(jī) | 月生活費(fèi) | 課程興趣 | 案例教學(xué) | |
---|---|---|---|---|---|---|---|---|---|
序號(hào) | |||||||||
1 | male | 20.0 | 170 | 70.0 | LiaoNing | NaN | 800.0 | 5 | 4 |
2 | male | 22.0 | 180 | 71.0 | GuangXi | 77.0 | 1300.0 | 3 | 4 |
3 | male | NaN | 180 | 62.0 | FuJian | 57.0 | 1000.0 | 2 | 4 |
4 | male | 20.0 | 177 | 72.0 | LiaoNing | 79.0 | 900.0 | 4 | 4 |
5 | male | 20.0 | 172 | NaN | ShanDong | 91.0 | NaN | 5 | 5 |
6 | male | 20.0 | 179 | 75.0 | YunNan | 92.0 | 950.0 | 5 | 5 |
7 | female | 21.0 | 166 | 53.0 | LiaoNing | 80.0 | 1200.0 | 4 | 5 |
8 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
9 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
10 | male | 19.0 | 169 | 76.0 | HeiLongJiang | 88.0 | 1100.0 | 5 | 5 |
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Django Admin中增加導(dǎo)出Excel功能過(guò)程解析
這篇文章主要介紹了Django Admin中增加導(dǎo)出Excel功能過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09Pytorch深度學(xué)習(xí)addmm()和addmm_()函數(shù)用法解析
這篇文章主要為大家介紹了Pytorch中addmm()和addmm_()函數(shù)用法解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Python實(shí)現(xiàn)批量采集商品數(shù)據(jù)的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)批量采集商品的數(shù)據(jù),文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03如何利用pygame實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲
這篇文章主要給大家介紹了關(guān)于如何利用pygame實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用pygame具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Python使用dict.fromkeys()快速生成一個(gè)字典示例
這篇文章主要介紹了Python使用dict.fromkeys()快速生成一個(gè)字典,結(jié)合實(shí)例形式分析了Python基于dict.fromkeys()生成字典的相關(guān)操作技巧,需要的朋友可以參考下2019-04-04