用法:
DataFrame.astype(dtype, copy=True, errors='raise')
將 pandas 對象轉換為指定的 dtype
dtype
。- dtype:數據類型,或列名的字典 -> 數據類型
使用 numpy.dtype 或 Python 類型將整個 pandas 對象轉換為相同類型。或者,使用 {col:dtype, ...},其中 col 是列標簽,dtype 是 numpy.dtype 或 Python 類型,將 DataFrame 的一個或多個列轉換為 column-specific 類型。
- copy:布爾值,默認為真
當
copy=True
時返回一個副本(非常小心地將copy=False
設置為對值的更改,然後可能會傳播到其他 pandas 對象)。- errors:{‘raise’, ‘ignore’},默認 ‘raise’
控製對提供的 dtype 的無效數據引發異常。
raise
:允許引發異常ignore
:抑製異常。出錯時返回原始對象。
- casted:與調用者相同的類型
參數:
返回:
注意:
例子:
創建一個 DataFrame :
>>> d = {'col1':[1, 2], 'col2':[3, 4]} >>> df = pd.DataFrame(data=d) >>> df.dtypes col1 int64 col2 int64 dtype:object
將所有列轉換為 int32:
>>> df.astype('int32').dtypes col1 int32 col2 int32 dtype:object
使用字典將 col1 轉換為 int32:
>>> df.astype({'col1':'int32'}).dtypes col1 int32 col2 int64 dtype:object
創建一個係列:
>>> ser = pd.Series([1, 2], dtype='int32') >>> ser 0 1 1 2 dtype:int32 >>> ser.astype('int64') 0 1 1 2 dtype:int64
轉換為分類類型:
>>> ser.astype('category') 0 1 1 2 dtype:category Categories (2, int64):[1, 2]
使用自定義排序轉換為有序分類類型:
>>> from pandas.api.types import CategoricalDtype >>> cat_dtype = CategoricalDtype( ... categories=[2, 1], ordered=True) >>> ser.astype(cat_dtype) 0 1 1 2 dtype:category Categories (2, int64):[2 < 1]
請注意,使用
copy=False
並更改新 Pandas 對象上的數據可能會傳播更改:>>> s1 = pd.Series([1, 2]) >>> s2 = s1.astype('int64', copy=False) >>> s2[0] = 10 >>> s1 # note that s1[0] has changed too 0 10 1 2 dtype:int64
創建一係列日期:
>>> ser_date = pd.Series(pd.date_range('20200101', periods=3)) >>> ser_date 0 2020-01-01 1 2020-01-02 2 2020-01-03 dtype:datetime64[ns]
相關用法
- Python pandas.DataFrame.assign用法及代碼示例
- Python pandas.DataFrame.asfreq用法及代碼示例
- Python pandas.DataFrame.asof用法及代碼示例
- Python pandas.DataFrame.apply用法及代碼示例
- Python pandas.DataFrame.add_prefix用法及代碼示例
- Python pandas.DataFrame.add用法及代碼示例
- Python pandas.DataFrame.all用法及代碼示例
- Python pandas.DataFrame.at_time用法及代碼示例
- Python pandas.DataFrame.append用法及代碼示例
- Python pandas.DataFrame.at用法及代碼示例
- Python pandas.DataFrame.agg用法及代碼示例
- Python pandas.DataFrame.add_suffix用法及代碼示例
- Python pandas.DataFrame.applymap用法及代碼示例
- Python pandas.DataFrame.aggregate用法及代碼示例
- Python pandas.DataFrame.axes用法及代碼示例
- Python pandas.DataFrame.abs用法及代碼示例
- Python pandas.DataFrame.any用法及代碼示例
- Python pandas.DataFrame.align用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.astype。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。