目录
- Pandas2.2 DataFrame
- Conversion
- pandas.DataFrame.convert_dtypes
- 技巧签名
- 参数说明
- 返回值
- 示例
- 注意事项
- 示例代码及验证
- 运行结局
Pandas2.2 DataFrame
Conversion
| 技巧 | 描述 | 
|---|---|
| DataFrame.astype(dtype[, copy, errors]) | 用于将 DataFrame 中的数据转换为指定的数据类型 | 
| DataFrame.convert_dtypes([infer_objects, …]) | 用于将 DataFrame 中的数据类型转换为更合适的类型 | 
pandas.DataFrame.convert_dtypes
pandas.DataFrame.convert_dtypes一个技巧,用于将 DataFrame 中的数据类型转换为更合适的类型。这个技巧可以帮助自动推断和转换数据类型,使得数据处理更加高效和准确。
技巧签名
DataFrame.convert_dtypes(infer_objects=True, convert_string=True, convert_integer=True, convert_boolean=True, convert_floating=True, dtype_backend=’numpy_nullable’)
参数说明
- infer_objects: 布尔值,默认为- True,表示是否尝试将- object类型的列转换为更具体的类型(如- int64或- float64)。
- convert_string: 布尔值,默认为- True,表示是否将- object类型的列转换为- string类型。
- convert_integer: 布尔值,默认为- True,表示是否将- object类型的列转换为- integer类型。
- convert_boolean: 布尔值,默认为- True,表示是否将- object类型的列转换为- boolean类型。
- convert_floating: 布尔值,默认为- True,表示是否将- object类型的列转换为- floating类型。
- dtype_backend: 字符串,默认为- &039;numpy_nullable&039;,表示使用的数据类型后端。可以是- &039;numpy_nullable&039;或- &039;pyarrow&039;。
返回值
- 返回一个新的 DataFrame,其中数据类型已转换。
示例
假设有一个 DataFrame 如下:
import pandas as pddata = ‘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数据类型:”)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数据类型:
A object
B object
C object
D object
dtype: object
示例1:使用默认参数转换数据类型
df_converted = df.convert_dtypes()print(“转换后的 DataFrame:”)print(df_converted)print(“n数据类型:”)print(df_converted.dtypes)
结局:
转换后的 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z数据类型:
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数据类型:”)print(df_converted_no_string.dtypes)
结局:
禁用 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数据类型:
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数据类型:”)print(df_converted_no_integer.dtypes)
结局:
禁用 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数据类型:
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数据类型:”)print(df_converted_no_boolean.dtypes)
结局:
禁用 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数据类型:
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数据类型:”)print(df_converted_no_floating.dtypes)
结局:
禁用 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数据类型:
A Int64
B object
C boolean
D string
dtype: object
通过这些示例,可以看到pandas.DataFrame.convert_dtypes技巧怎样自动推断和转换 DataFrame 中的数据类型。这些技巧在数据预处理和类型转换时非常有用。
注意事项
- convert_dtypes技巧可以将 DataFrame 中的数据类型转换为更合适的类型。
- 可以通过设置不同的参数来控制哪些类型的转换应该被启用或禁用。
- dtype_backend参数可以指定使用的数据类型后端,例如- &039;numpy_nullable&039;或- &039;pyarrow&039;。
- 这些转换可以帮助进步数据处理的效率和准确性。
示例代码及验证
为了验证pandas.DataFrame.convert_dtypes技巧的效果,可以运行上述示例代码并查看输出结局。
import pandas as pd 创建一个示例 DataFramedata = ‘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数据类型:”)print(df.dtypes) 使用默认参数转换数据类型df_converted = df.convert_dtypes()print(“n转换后的 DataFrame:”)print(df_converted)print(“n数据类型:”)print(df_converted.dtypes) 禁用 convert_stringdf_converted_no_string = df.convert_dtypes(convert_string=False)print(“n禁用 convert_string 后的 DataFrame:”)print(df_converted_no_string)print(“n数据类型:”)print(df_converted_no_string.dtypes) 禁用 convert_integerdf_converted_no_integer = df.convert_dtypes(convert_integer=False)print(“n禁用 convert_integer 后的 DataFrame:”)print(df_converted_no_integer)print(“n数据类型:”)print(df_converted_no_integer.dtypes) 禁用 convert_booleandf_converted_no_boolean = df.convert_dtypes(convert_boolean=False)print(“n禁用 convert_boolean 后的 DataFrame:”)print(df_converted_no_boolean)print(“n数据类型:”)print(df_converted_no_boolean.dtypes) 禁用 convert_floatingdf_converted_no_floating = df.convert_dtypes(convert_floating=False)print(“n禁用 convert_floating 后的 DataFrame:”)print(df_converted_no_floating)print(“n数据类型:”)print(df_converted_no_floating.dtypes)
运行结局
运行上述代码后,你会看到下面内容输出:
原始 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z数据类型:
A object
B object
C object
D object
dtype: object转换后的 DataFrame:
A B C D
0 1 1.1 True x
1 2 2.2 False y
2 3 3.3 True z数据类型:
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数据类型:
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数据类型:
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数据类型:
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数据类型:
A Int64
B object
C boolean
D string
dtype: object
通过这些示例,可以看到pandas.DataFrame.convert_dtypes技巧怎样自动推断和转换 DataFrame 中的数据类型。这些技巧在数据预处理和类型转换时非常有用。
到此这篇关于pandas DataFrame convert_dtypes的具体使用的文章就介绍到这了,更多相关pandas DataFrame convert_dtypes内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!
无论兄弟们可能感兴趣的文章:
- Pandas?DataFrame列快速转换为列表(3秒学会!)
- PandasSeries怎样转换为DataFrame
- pandas中字典和dataFrame的相互转换
- Pandas DataFrame转换为字典的技巧
- Pandas把dataframe或series转换成list的技巧
- pandas和spark dataframe互相转换实例详解
- 详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种技巧
- pandas 实现字典转换成DataFrame的技巧
