pandas的dataframe数据类型转换
在使用pandas库进行数据分析时,有时候会需要将object类型转换成数值类型(float,int),那么如何做呢?
主要有以下三种方法:创建时指定类型,df.astype强制类型转换,以及使用pd.to_numeric() 转换成适当数值类型。
一,创建时指定类型
import numpy as np
import pandas as pd
dfx = pd.DataFrame([["11",1.2,3],['22',4.8,5]],
columns = list('abc'),
dtype = object)
dfx.dtypes
二,使用df.astype()强制类型转换
#强制类型转换
dfx[['a','b','c']] = dfx[['a','b','c']].astype('float32')
dfx.dtypes
三,使用pd.to_numeric() 转换成适当数值类型
import pandas as pd
dfy = pd.DataFrame([["11",1.2,3],['22',4.8,'?']],
columns = list('abc'),
dtype = object)
# 将某列转换成数值类型, pd.to_numeric只能作用到单列
dfy['a'] = pd.to_numeric(dfy['a'])
# 利用apply将它作用到整个dataframe,遇到错误时候忽略,不予转换该列
dfy1 = dfy.apply(pd.to_numeric, errors = 'ignore')
print(dfy1.dtypes)
# 遇到错误时候转换成nan
dfy2 = dfy.apply(pd.to_numeric, errors = 'coerce')
print(dfy2.dtypes)
# 遇到错误时候报错
dfy3 = dfy.apply(pd.to_numeric, errors = 'raise')
今天的文章pandas中对dataframe的数据如何进行编辑_pandas根据条件修改数据「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/69408.html