當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.Index.to_numpy用法及代碼示例


用法:

Index.to_numpy(dtype=None, copy=False, na_value=NoDefault.no_default, **kwargs)

表示此係列或索引中的值的 NumPy ndarray。

參數

dtypestr 或 numpy.dtype,可選

要傳遞給 numpy.asarray() 的 dtype。

copy布爾值,默認為 False

是否確保返回值不是另一個數組上的視圖。請注意,copy=False 並不能確保 to_numpy() 是 no-copy。相反,copy=True 確保製作副本,即使並非絕對必要。

na_value任意,可選

用於缺失值的值。默認值取決於dtype 和數組的類型。

**kwargs

其他關鍵字傳遞給底層數組的to_numpy 方法(對於擴展數組)。

返回

numpy.ndarray

注意

返回的數組將相同直到相等(self 中相等的值將在返回的數組中相等;對於不相等的值也是如此)。當self 包含 ExtensionArray 時,dtype 可能不同。例如,對於category-dtype 係列,to_numpy() 將返回一個 NumPy 數組,並且分類 dtype 將丟失。

對於 NumPy dtypes,這將是對該係列或索引中存儲的實際數據的引用(假設為 copy=False )。就地修改結果將修改存儲在係列或索引中的數據(我們不建議這樣做)。

對於擴展類型,to_numpy() 可能需要複製數據並將結果強製轉換為 NumPy 類型(可能是對象),這可能很昂貴。當您需要對基礎數據的no-copy 引用時,pandas.Series.array應改為使用。

此表列出了 pandas 中各種 dtype 的不同 dtype 和默認返回類型 to_numpy()

類型

數組類型

類別[T]

ndarray[T] (與輸入相同的 dtype)

period

ndarray[object](句點)

interval

ndarray[object](間隔)

IntegerNA

ndarray[對象]

日期時間64[ns]

日期時間64[ns]

日期時間64[ns, tz]

ndarray[object](時間戳)

例子

>>> ser = pd.Series(pd.Categorical(['a', 'b', 'a']))
>>> ser.to_numpy()
array(['a', 'b', 'a'], dtype=object)

指定 dtype 以控製 datetime-aware 數據的表示方式。使用 dtype=object 返回 pandas Timestamp 對象的 ndarray,每個對象都有正確的 tz

>>> ser = pd.Series(pd.date_range('2000', periods=2, tz="CET"))
>>> ser.to_numpy(dtype=object)
array([Timestamp('2000-01-01 00:00:00+0100', tz='CET'),
       Timestamp('2000-01-02 00:00:00+0100', tz='CET')],
      dtype=object)

dtype='datetime64[ns]' 返回原生 datetime64 值的 ndarray。這些值將轉換為 UTC 並刪除時區信息。

>>> ser.to_numpy(dtype="datetime64[ns]")
... 
array(['1999-12-31T23:00:00.000000000', '2000-01-01T23:00:00...'],
      dtype='datetime64[ns]')

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.Index.to_numpy。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。