儘管什麼醫生說:
低垂:字典,默認爲無
本期特價貨品的字典>什麼 垂頭喪氣如果可能的D型,或者字符串「推斷'將嘗試將 降頻到適當的相同類型(例如,如果可能的話,從float64到int64)
如果你提供字典作爲downcast
你會得到AssertionError("dtypes as dict is not supported yet")
人們只能使用downcast='infer'
這會導致大熊貓嘗試向下轉換浮點數爲整數。但是這似乎是錯誤的:如果列中的所有浮點數都超過10000,則會丟失精度並將其轉換爲整數。
In [1]: import pandas as pd
...: import numpy as np
...: df = pd.DataFrame([[3.14,9999.9,10000.1,200000.2],[2.72,9999.9,10000.1,300000.3]], columns=list("ABCD"))
...: df.dtypes
...:
Out[1]:
A float64
B float64
C float64
D float64
dtype: object
In [2]: df
Out[2]:
A B C D
0 3.14 9999.9 10000.1 200000.2
1 2.72 9999.9 10000.1 300000.3
In [3]: dff=df.fillna(0, downcast='infer')
...: dff.dtypes
...:
Out[3]:
A float64
B float64
C int64
D int64
dtype: object
In [4]: dff
Out[4]:
A B C D
0 3.14 9999.9 10000 200000
1 2.72 9999.9 10000 300000
這裏有大量的文檔:http://pandas.pydata.org/pandas-docs/stable/missing_data.html; downcast基本上是一個內部參數,你不需要它。使用''NaN'',永遠不要''None''(除了''object'' dtyped列以外,它將被轉換)。 – Jeff 2014-11-21 21:50:14
@Jeff,有時我在字符串列中顯示爲dtype對象的SQL查詢中得到None。在那種情況下,我不知道如何轉換爲NaN。謝謝,我會檢查文檔! – user3659451 2014-11-21 22:41:06
要轉換爲NaN用途:df.fillna(value = np.NaN) – Spas 2015-03-20 17:51:33