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: 布爾值,默認(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'。
返回值
- 返回一個新的 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:使用默認(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 方法如何自動推斷和轉(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 方法的效果,可以運(yùn)行上述示例代碼并查看輸出結(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)
# 使用默認(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)行上述代碼后,你會看到以下輸出:
原始 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 GUI編程之PyQt5入門到實戰(zhàn)
這篇文章主要介紹了詳解Python GUI編程之PyQt5入門到實戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Python3之不使用第三方變量,實現(xiàn)交換兩個變量的值
今天小編就為大家分享一篇Python3之不使用第三方變量,實現(xiàn)交換兩個變量的值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
python?實現(xiàn)dcmtk關(guān)聯(lián)pacs功能推送下拉影像(推薦)
這篇文章主要介紹了python?實現(xiàn)dcmtk關(guān)聯(lián)pacs功能?推送下拉影像,包含dcmtk關(guān)聯(lián)pacs技術(shù)筆記等相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10
Linux系統(tǒng)中安裝Python3版本的安全方法與避坑指南
如果你正在Linux系統(tǒng)上安裝Python3,請立即停止,常規(guī)安裝方法有99%的概率會讓你的系統(tǒng)包管理器(yum/apt)徹底報廢,本文將揭露這個致命陷阱,并提供無風(fēng)險的解決方案2025-12-12
Python實現(xiàn)實時文件監(jiān)控和變更通知
這篇文章主要為大家詳細(xì)介紹了一個基于Python編寫的實時文件監(jiān)控和變更通知器,用于監(jiān)控指定目錄中的文件變化并發(fā)送通知,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2025-12-12
python?matplotlib繪圖過程中設(shè)置線條顏色實戰(zhàn)舉例
Matplotlib是一個用于數(shù)據(jù)可視化和創(chuàng)建交互式圖表的Python庫,下面這篇文章主要給大家介紹了關(guān)于python?matplotlib繪圖過程中設(shè)置線條顏色的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05

