重新赋值或使用参数inplace=True
代码示例:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['4', '5', '6']})
print(df.dtypes)
# A int64
# B object
# dtype: object
df['B'] = df['B'].astype(int)
print(df.dtypes)
# A int64
# B int64
# dtype: object
# 但是,原始的DataFrame对象的dtypes没有改变
print(df['B'].dtypes) # int64
# 解决方法1:重新赋值
df['B'] = df['B'].astype(str)
print(df.dtypes)
# A int64
# B object
# dtype: object
# 解决方法2:使用参数inplace=True
df['B'].astype(int, inplace=True)
print(df.dtypes)
# A int64
# B int64
# dtype: object