2012-06-25 66 views
3

有什麼辦法來防止pandas更改默認打印格式numpy陣列?熊貓改變默認numpy的陣列格式

帶滑動numpy,我得到:

>>> numpy.array([123.45, 0.06]) 
array([ 1.23450000e+02, 6.00000000e-02]) 

我導入pandas後,我得到:

>>> numpy.array([123.45, 0.06]) 
array([ 123.45, 0.06]) 

我可以阻止它這樣做的配置設置?我不希望有每一個「進口大熊貓」包裝與「富= np.get_printoptions();進口大熊貓; np.set_printoptions(**富)」,但這是我能拿出最好的。

正因爲如此,如果我輸入大熊貓在一個地方,我得到的doctest從另一個錯誤。

回答

2

您應該只有np.set_printoptions(富)包裝首次進口大熊貓因爲Python會緩存它。請看下圖:

import numpy 
>>> numpy.array([123.45, 0.06]) 
array([ 1.23450000e+02, 6.00000000e-02]) 
>>> import pandas 
>>> numpy.array([123.45, 0.06]) 
array([ 123.45, 0.06]) 
>>> numpy.set_printoptions(edgeitems=3,infstr='inf', linewidth=75, nanstr='nan', precision=8, suppress=False, threshold=1000) 
>>> numpy.array([123.45, 0.06]) 
array([ 1.23450000e+02, 6.00000000e-02]) 
>>> import pandas 
>>> numpy.array([123.45, 0.06]) 
array([ 1.23450000e+02, 6.00000000e-02]) 
+0

謝謝,但我們用鼻子在測試中加載,這意味着我不知道以什麼順序模塊將被載入。我總是可以將它放在頂級包裝級別__init__中,但這種感覺是侵入性的。另外,我必須改變其他人的文檔。我忍不住想大熊貓不應該改變numpy包級別的全局變量。 –

1

這是因爲我認爲NumPy的應有suppress=True作爲其默認有點刺激性。我正在改變熊貓不改變它。

+0

謝謝,韋斯!那太好了。如果我在DataGotham碰到你,我會親自表示感謝。 –