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 是一個(gè)方法,用于將 DataFrame 中的數(shù)據(jù)類型轉(zhuǎn)換為更合適的類型。這個(gè)方法可以幫助自動(dòng)推斷和轉(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: 布爾值,默認(rèn)為True,表示是否嘗試將object類型的列轉(zhuǎn)換為更具體的類型(如int64或float64)。convert_string: 布爾值,默認(rèn)為True,表示是否將object類型的列轉(zhuǎn)換為string類型。convert_integer: 布爾值,默認(rèn)為True,表示是否將object類型的列轉(zhuǎn)換為integer類型。convert_boolean: 布爾值,默認(rèn)為True,表示是否將object類型的列轉(zhuǎn)換為boolean類型。convert_floating: 布爾值,默認(rèn)為True,表示是否將object類型的列轉(zhuǎn)換為floating類型。dtype_backend: 字符串,默認(rèn)為'numpy_nullable',表示使用的數(shù)據(jù)類型后端??梢允?nbsp;'numpy_nullable'或'pyarrow'。
返回值
- 返回一個(gè)新的 DataFrame,其中數(shù)據(jù)類型已轉(zhuǎn)換。
示例
假設(shè)有一個(gè) 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:使用默認(rèn)參數(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 方法如何自動(dòng)推斷和轉(zhuǎn)換 DataFrame 中的數(shù)據(jù)類型。這些方法在數(shù)據(jù)預(yù)處理和類型轉(zhuǎn)換時(shí)非常有用。
注意事項(xiàng)
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)確性。
示例代碼及驗(yàn)證
為了驗(yàn)證 pandas.DataFrame.convert_dtypes 方法的效果,可以運(yùn)行上述示例代碼并查看輸出結(jié)果。
import pandas as pd
# 創(chuàng)建一個(gè)示例 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)
# 使用默認(rèn)參數(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)
運(yùn)行結(jié)果
運(yùn)行上述代碼后,你會(huì)看到以下輸出:
原始 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 方法如何自動(dòng)推斷和轉(zhuǎn)換 DataFrame 中的數(shù)據(jù)類型。這些方法在數(shù)據(jù)預(yù)處理和類型轉(zhuǎn)換時(shí)非常有用。
到此這篇關(guān)于pandas DataFrame convert_dtypes的具體使用的文章就介紹到這了,更多相關(guān)pandas DataFrame convert_dtypes內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Pandas?DataFrame列快速轉(zhuǎn)換為列表(3秒學(xué)會(huì)!)
- Pandas Series如何轉(zhuǎn)換為DataFrame
- pandas中字典和dataFrame的相互轉(zhuǎn)換
- Pandas DataFrame轉(zhuǎn)換為字典的方法
- Pandas把dataframe或series轉(zhuǎn)換成list的方法
- pandas和spark dataframe互相轉(zhuǎn)換實(shí)例詳解
- 詳解將Pandas中的DataFrame類型轉(zhuǎn)換成Numpy中array類型的三種方法
- pandas 實(shí)現(xiàn)字典轉(zhuǎn)換成DataFrame的方法
相關(guān)文章
Python創(chuàng)建文件和追加文件內(nèi)容實(shí)例
這篇文章主要介紹了Python創(chuàng)建文件和追加文件內(nèi)容實(shí)例,本文同時(shí)給出了把標(biāo)準(zhǔn)輸出定向到文件實(shí)例,需要的朋友可以參考下2014-10-10
python基于watchdog庫實(shí)現(xiàn)文件系統(tǒng)監(jiān)控
Watchdog庫是Python中一個(gè)用于監(jiān)控文件系統(tǒng)變化的第三方庫,它能夠?qū)崟r(shí)監(jiān)測(cè)文件或目錄的創(chuàng)建,修改,刪除等操作,下面我們來看看如何利用watchdog實(shí)現(xiàn)文件系統(tǒng)監(jiān)控吧2025-04-04
odoo?為可編輯列表視圖字段搜索添加查詢過濾條件的詳細(xì)過程
Odoo 是基于 Python 寫的一系列開源商業(yè)應(yīng)用程序套裝,前身是 OpenERP,這篇文章主要介紹了odoo?為可編輯列表視圖字段搜索添加查詢過濾條件,需要的朋友可以參考下2023-02-02
python實(shí)現(xiàn)nao機(jī)器人身體軀干和腿部動(dòng)作操作
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)nao機(jī)器人身體軀干和腿部動(dòng)作操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
python采集天氣數(shù)據(jù)并做數(shù)據(jù)可視化
本文主要介紹了python采集天氣數(shù)據(jù)并做數(shù)據(jù)可視化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Python實(shí)戰(zhàn)之生成有關(guān)聯(lián)單選問卷
這篇文章主要為大家分享了一個(gè)Python實(shí)戰(zhàn)小案例——生成有關(guān)聯(lián)單選問卷,并且能根據(jù)問卷總分?jǐn)?shù)生成對(duì)應(yīng)判斷文案結(jié)果,感興趣的可以了解一下2023-04-04
python?GUI多行輸入文本Text的實(shí)現(xiàn)
這篇文章主要介紹了python?GUI多行輸入文本Text的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06

