首页 > 后端开发 > Python教程 > 如何更改 Pandas DataFrame 中的列数据类型?

如何更改 Pandas DataFrame 中的列数据类型?

Patricia Arquette
发布: 2024-12-18 11:30:15
原创
1000 人浏览过

How Can I Change Column Data Types in Pandas DataFrames?

更改 Pandas 中的列类型

在 pandas 中,有多个用于转换 DataFrame 列类型的选项。具体方法如下:

1. to_numeric()

使用 to_numeric() 将包含非数字值的列转换为数字类型(例如 float 或int)。

语法:

pd.to_numeric(series_or_column, errors='coerce'/'ignore')
登录后复制

示例:

df = pd.DataFrame([[1.2, 4.2], ['70', 0.03]])

df.columns = ['column_1', 'column_2']

# Convert 'column_2' to float
df['column_2'] = pd.to_numeric(df['column_2'], errors='coerce')
登录后复制

2. astype()

使用 astype() 将列转换为任何所需的数据类型,包括数字和对象

语法:

df.astype(dtype)
登录后复制

示例:

df['column_1'] = df['column_1'].astype(int)
df['column_2'] = df['column_2'].astype(float)
登录后复制

3. infer_objects()

在 pandas 0.21.0 中引入,infer_objects() 将对象列转换为更具体的数据类型(例如整数或float)。

语法:

df.infer_objects()
登录后复制

示例:

# Create an object DataFrame
df = pd.DataFrame({'col1': [1, 2, 3], 'col2': ['a', 'b', 'c']}, dtype='object')

# Convert 'col1' to int
df['col1'] = df['col1'].infer_objects()
登录后复制

4. Convert_dtypes()

在 pandas 1.0 中引入,convert_dtypes() 将列转换为支持缺失的“最佳”数据类型

语法:

df.convert_dtypes(infer_objects=True/False)
登录后复制

示例:

# Convert object columns based on inferred types
df.convert_dtypes()

# Only convert object columns with explicit dtype information
df.convert_dtypes(infer_objects=False)
登录后复制

这些方法提供了用于更改列的灵活选项pandas DataFrame 中的类型。根据您的具体数据和要求选择最合适的方法。

以上是如何更改 Pandas DataFrame 中的列数据类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板