更改 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中文网其他相关文章!