📜  设置列的类型 pandas - Python (1)

📅  最后修改于: 2023-12-03 14:57:39.036000             🧑  作者: Mango

设置列的类型 pandas - Python

在 Pandas 中,我们可以使用 astype() 函数为数据框(DataFrame)中的某一列(Series)设置类型,也可以使用 infer_objects() 函数自动推断列的类型。

设置某一列的类型
  • 使用 astype() 函数设置某一列的类型:
import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['4', '5', '6']})

# 查看数据框中每列的类型
print(df.dtypes)

# 将列 'B' 的类型转换为整型(int)
df['B'] = df['B'].astype(int)

# 再次查看数据框中每列的类型
print(df.dtypes)

输出:

A    int64
B    object
dtype: object

A    int64
B    int64
dtype: object
  • 注意事项:
    • 要使用 astype() 函数进行类型转换,必须保证该列中的元素能够被转换为指定的类型;
    • 要将字符串类型的列转换为整型或浮点型,需要保证该列中的元素全部为数字(包括正负号、小数点等)。
自动推断列的类型
  • 使用 infer_objects() 函数可以自动推断列的类型:
import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['4', '5', '6']})

# 查看数据框中每列的类型
print(df.dtypes)

# 推断数据框中每列的类型
df = df.infer_objects()

# 再次查看数据框中每列的类型
print(df.dtypes)

输出:

A    int64
B    object
dtype: object

A    int64
B    int64
dtype: object
  • 注意事项:
    • infer_objects() 函数只能推断能够被转换为 Pandas 内置类型的对象,在将其他类型转换为 Pandas 内置类型之前需要进行必要的数据清洗和处理。