pandas DataFrame convert_dtypes的具體使用
Pandas2.2 DataFrame
Conversion
方法 | 描述 |
---|---|
DataFrame.astype(dtype[, copy, errors]) | 用于將 DataFrame 中的數(shù)據(jù)轉(zhuǎn)換為指定的數(shù)據(jù)類型 |
DataFrame.convert_dtypes([infer_objects, …]) | 用于將 DataFrame 中的數(shù)據(jù)類型轉(zhuǎn)換為更合適的類型 |
pandas.DataFrame.convert_dtypes
pandas.DataFrame.convert_dtypes
是一個方法,用于將 DataFrame 中的數(shù)據(jù)類型轉(zhuǎn)換為更合適的類型。這個方法可以幫助自動推斷和轉(zhuǎn)換數(shù)據(jù)類型,使得數(shù)據(jù)處理更加高效和準(zhǔn)確。
方法簽名
DataFrame.convert_dtypes(infer_objects=True, convert_string=True, convert_integer=True, convert_boolean=True, convert_floating=True, dtype_backend='numpy_nullable')
參數(shù)說明
infer_objects
: 布爾值,默認為True
,表示是否嘗試將object
類型的列轉(zhuǎn)換為更具體的類型(如int64
或float64
)。convert_string
: 布爾值,默認為True
,表示是否將object
類型的列轉(zhuǎn)換為string
類型。convert_integer
: 布爾值,默認為True
,表示是否將object
類型的列轉(zhuǎn)換為integer
類型。convert_boolean
: 布爾值,默認為True
,表示是否將object
類型的列轉(zhuǎn)換為boolean
類型。convert_floating
: 布爾值,默認為True
,表示是否將object
類型的列轉(zhuǎn)換為floating
類型。dtype_backend
: 字符串,默認為'numpy_nullable'
,表示使用的數(shù)據(jù)類型后端??梢允?nbsp;'numpy_nullable'
或'pyarrow'
。
返回值
- 返回一個新的 DataFrame,其中數(shù)據(jù)類型已轉(zhuǎn)換。
示例
假設(shè)有一個 DataFrame 如下:
import pandas as pd data = { 'A': ['1', '2', '3'], 'B': ['1.1', '2.2', '3.3'], 'C': ['True', 'False', 'True'], 'D': ['x', 'y', 'z'] } df = pd.DataFrame(data) print("原始 DataFrame:") print(df) print("\n數(shù)據(jù)類型:") print(df.dtypes)
輸出:
原始 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z數(shù)據(jù)類型:
A object
B object
C object
D object
dtype: object
示例1:使用默認參數(shù)轉(zhuǎn)換數(shù)據(jù)類型
df_converted = df.convert_dtypes() print("轉(zhuǎn)換后的 DataFrame:") print(df_converted) print("\n數(shù)據(jù)類型:") print(df_converted.dtypes)
結(jié)果:
轉(zhuǎn)換后的 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z數(shù)據(jù)類型:
A Int64
B Float64
C boolean
D string
dtype: object
示例2:禁用 convert_string
df_converted_no_string = df.convert_dtypes(convert_string=False) print("禁用 convert_string 后的 DataFrame:") print(df_converted_no_string) print("\n數(shù)據(jù)類型:") print(df_converted_no_string.dtypes)
結(jié)果:
禁用 convert_string 后的 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z數(shù)據(jù)類型:
A Int64
B Float64
C boolean
D object
dtype: object
示例3:禁用 convert_integer
df_converted_no_integer = df.convert_dtypes(convert_integer=False) print("禁用 convert_integer 后的 DataFrame:") print(df_converted_no_integer) print("\n數(shù)據(jù)類型:") print(df_converted_no_integer.dtypes)
結(jié)果:
禁用 convert_integer 后的 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z數(shù)據(jù)類型:
A object
B Float64
C boolean
D string
dtype: object
示例4:禁用 convert_boolean
df_converted_no_boolean = df.convert_dtypes(convert_boolean=False) print("禁用 convert_boolean 后的 DataFrame:") print(df_converted_no_boolean) print("\n數(shù)據(jù)類型:") print(df_converted_no_boolean.dtypes)
結(jié)果:
禁用 convert_boolean 后的 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z數(shù)據(jù)類型:
A Int64
B Float64
C object
D string
dtype: object
示例5:禁用 convert_floating
df_converted_no_floating = df.convert_dtypes(convert_floating=False) print("禁用 convert_floating 后的 DataFrame:") print(df_converted_no_floating) print("\n數(shù)據(jù)類型:") print(df_converted_no_floating.dtypes)
結(jié)果:
禁用 convert_floating 后的 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z數(shù)據(jù)類型:
A Int64
B object
C boolean
D string
dtype: object
通過這些示例,可以看到 pandas.DataFrame.convert_dtypes
方法如何自動推斷和轉(zhuǎn)換 DataFrame 中的數(shù)據(jù)類型。這些方法在數(shù)據(jù)預(yù)處理和類型轉(zhuǎn)換時非常有用。
注意事項
convert_dtypes
方法可以將 DataFrame 中的數(shù)據(jù)類型轉(zhuǎn)換為更合適的類型。- 可以通過設(shè)置不同的參數(shù)來控制哪些類型的轉(zhuǎn)換應(yīng)該被啟用或禁用。
dtype_backend
參數(shù)可以指定使用的數(shù)據(jù)類型后端,例如'numpy_nullable'
或'pyarrow'
。- 這些轉(zhuǎn)換可以幫助提高數(shù)據(jù)處理的效率和準(zhǔn)確性。
示例代碼及驗證
為了驗證 pandas.DataFrame.convert_dtypes
方法的效果,可以運行上述示例代碼并查看輸出結(jié)果。
import pandas as pd # 創(chuàng)建一個示例 DataFrame data = { 'A': ['1', '2', '3'], 'B': ['1.1', '2.2', '3.3'], 'C': ['True', 'False', 'True'], 'D': ['x', 'y', 'z'] } df = pd.DataFrame(data) print("原始 DataFrame:") print(df) print("\n數(shù)據(jù)類型:") print(df.dtypes) # 使用默認參數(shù)轉(zhuǎn)換數(shù)據(jù)類型 df_converted = df.convert_dtypes() print("\n轉(zhuǎn)換后的 DataFrame:") print(df_converted) print("\n數(shù)據(jù)類型:") print(df_converted.dtypes) # 禁用 convert_string df_converted_no_string = df.convert_dtypes(convert_string=False) print("\n禁用 convert_string 后的 DataFrame:") print(df_converted_no_string) print("\n數(shù)據(jù)類型:") print(df_converted_no_string.dtypes) # 禁用 convert_integer df_converted_no_integer = df.convert_dtypes(convert_integer=False) print("\n禁用 convert_integer 后的 DataFrame:") print(df_converted_no_integer) print("\n數(shù)據(jù)類型:") print(df_converted_no_integer.dtypes) # 禁用 convert_boolean df_converted_no_boolean = df.convert_dtypes(convert_boolean=False) print("\n禁用 convert_boolean 后的 DataFrame:") print(df_converted_no_boolean) print("\n數(shù)據(jù)類型:") print(df_converted_no_boolean.dtypes) # 禁用 convert_floating df_converted_no_floating = df.convert_dtypes(convert_floating=False) print("\n禁用 convert_floating 后的 DataFrame:") print(df_converted_no_floating) print("\n數(shù)據(jù)類型:") print(df_converted_no_floating.dtypes)
運行結(jié)果
運行上述代碼后,你會看到以下輸出:
原始 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z數(shù)據(jù)類型:
A object
B object
C object
D object
dtype: object轉(zhuǎn)換后的 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z數(shù)據(jù)類型:
A Int64
B Float64
C boolean
D string
dtype: object禁用 convert_string 后的 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z數(shù)據(jù)類型:
A Int64
B Float64
C boolean
D object
dtype: object禁用 convert_integer 后的 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z數(shù)據(jù)類型:
A object
B Float64
C boolean
D string
dtype: object禁用 convert_boolean 后的 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z數(shù)據(jù)類型:
A Int64
B Float64
C object
D string
dtype: object禁用 convert_floating 后的 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z數(shù)據(jù)類型:
A Int64
B object
C boolean
D string
dtype: object
通過這些示例,可以看到 pandas.DataFrame.convert_dtypes
方法如何自動推斷和轉(zhuǎn)換 DataFrame 中的數(shù)據(jù)類型。這些方法在數(shù)據(jù)預(yù)處理和類型轉(zhuǎn)換時非常有用。
到此這篇關(guān)于pandas DataFrame convert_dtypes的具體使用的文章就介紹到這了,更多相關(guān)pandas DataFrame convert_dtypes內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Pandas?DataFrame列快速轉(zhuǎn)換為列表(3秒學(xué)會!)
- Pandas Series如何轉(zhuǎn)換為DataFrame
- pandas中字典和dataFrame的相互轉(zhuǎn)換
- Pandas DataFrame轉(zhuǎn)換為字典的方法
- Pandas把dataframe或series轉(zhuǎn)換成list的方法
- pandas和spark dataframe互相轉(zhuǎn)換實例詳解
- 詳解將Pandas中的DataFrame類型轉(zhuǎn)換成Numpy中array類型的三種方法
- pandas 實現(xiàn)字典轉(zhuǎn)換成DataFrame的方法
相關(guān)文章
Python創(chuàng)建文件和追加文件內(nèi)容實例
這篇文章主要介紹了Python創(chuàng)建文件和追加文件內(nèi)容實例,本文同時給出了把標(biāo)準(zhǔn)輸出定向到文件實例,需要的朋友可以參考下2014-10-10python基于watchdog庫實現(xiàn)文件系統(tǒng)監(jiān)控
Watchdog庫是Python中一個用于監(jiān)控文件系統(tǒng)變化的第三方庫,它能夠?qū)崟r監(jiān)測文件或目錄的創(chuàng)建,修改,刪除等操作,下面我們來看看如何利用watchdog實現(xiàn)文件系統(tǒng)監(jiān)控吧2025-04-04odoo?為可編輯列表視圖字段搜索添加查詢過濾條件的詳細過程
Odoo 是基于 Python 寫的一系列開源商業(yè)應(yīng)用程序套裝,前身是 OpenERP,這篇文章主要介紹了odoo?為可編輯列表視圖字段搜索添加查詢過濾條件,需要的朋友可以參考下2023-02-02python實現(xiàn)nao機器人身體軀干和腿部動作操作
這篇文章主要為大家詳細介紹了python實現(xiàn)nao機器人身體軀干和腿部動作操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04python采集天氣數(shù)據(jù)并做數(shù)據(jù)可視化
本文主要介紹了python采集天氣數(shù)據(jù)并做數(shù)據(jù)可視化,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Python實戰(zhàn)之生成有關(guān)聯(lián)單選問卷
這篇文章主要為大家分享了一個Python實戰(zhàn)小案例——生成有關(guān)聯(lián)單選問卷,并且能根據(jù)問卷總分數(shù)生成對應(yīng)判斷文案結(jié)果,感興趣的可以了解一下2023-04-04