1. 程式人生 > >Python pandas模組輸出每行中間省略號問題

Python pandas模組輸出每行中間省略號問題

關於Python資料分析中pandas模組在輸出的時候,每行的中間會有省略號出現,和行與行中間的省略號....問題,其他的站點(百度)中的大部分都是瞎寫,根本就是複製黏貼以前的版本,你要想知道其他問題答案就得去讀官方文件吧。

複製程式碼

1 #!/usr/bin/python
2 # -*- coding: UTF-8 -*-
3 import numpy as np
4 import pandas as pd
5 import MySQLdb
6 
7 df = pd.read_csv('C:\\Users\\Administrator\\Desktop\\aaa.csv',encoding='gb2312')

複製程式碼

這是我本地測試用的,先看一下效果。

 

這裡看到每一行中間都會出現一個“...”省略號,這是因為模組對於每一行的顯示限制,以記憶體最小形式來顯示,所以會以省略號代替其中間的內容。

如果資料行很多的話,對於pandas模組是自動預設只顯示100行資料,如果超100行,例如120行,則中間的20行會被“ ... ”替代!

先處理pandas 讀取資料後在行中間省略部分的處理:

1 df = pd.read_csv('C:\\Users\\Administrator\\Desktop\\aaa.csv',encoding='gb2312')
2 pd.set_option('display.width',None)
3 print df

 

這裡只需要新增pd.set_option('display.width',None)即可,http://pandas.pydata.org/pandas-docs/stable/options.html 我也是在官方文件中查詢到的,其中有詳細的解釋,和set_option函式的其他方法。

在度娘中死活也找不到相關的回答,在google中也只有寥寥無幾的回答,並且極少出現過這種情況,唯獨我遇上了,所以記載以下。

如果是行與行之間的省略,則只需要新增:

pd.set_option('display.max_rows', None)

同樣是以最大行數來顯示資料。

這裡分享一下pandas模組連線資料庫的操作:

複製程式碼

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import numpy as np
import pandas as pd
import MySQLdb

#讀取url為csv
data_url = 'https://raw.githubusercontent.com/mwaskom/seaborn-data/master/tips.csv'
dat = pd.read_csv(data_url)

mysql_da = MySQLdb.connect(host='localhost',port=3306,user='root',passwd='root',db='庫名')
df = pd.read_sql('select * from 表',con = mysql_da)
pd.set_option('display.width',None)
mysql_da.close()
print df

複製程式碼