为什么有时候pandas设置列类型不生效 !!!
起因:将数据库的数据通过一定的规则生成excel文档,发现生成的价格数据类型不是float64
df.dtypes
那就设置一下列的数据类型
df['价格'].astype('float64')
发现df['价格'] 列的数据类型还是没变,还是object
为什么呢?是因为价格列里面含了空数据,df['价格'].astype('float64')转失败了,但是没报错
这个时候要处理掉空数据再转df['价格'].astype('float64'),,可以试试以下语法
df['价格'] = pd.to_numeric(df['价格'], errors='coerce').fillna(0).astype('float64')