为了账号安全,请及时绑定邮箱和手机立即绑定

在 Python/Pandas 中将 dtype 'object' 的所有列转换为 'float'

在 Python/Pandas 中将 dtype 'object' 的所有列转换为 'float'

慕容708150 2023-01-04 11:08:23
我想将所有“对象”类型的列转换为数据框中的另一种数据类型(浮点型),而无需对列名称进行硬编码。我能够从其他似乎有效的答案中拼凑出一些代码,但我觉得必须有一种更简单的方法来做到这一点。# Creating isolating columns of object data typeobject_cols = df.loc[:, df.dtypes == 'O']# Extracting column names with list comprehensionobject_type_columns = [col for col in object_cols.columns]# Converting column types of .astype in a for loopfor col in object_type_columns:  df[col] = df[col].astype(float)让我知道是否有任何我遗漏的信息(我是新手)。谢谢!
查看完整描述

3 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

您可以使用select_dtypes查找列名:

s = df.select_dtypes(include='object').columns
df[s] = df[s].astype("float")


查看完整回答
1 反对 回复 2023-01-04
?
holdtom

TA贡献1805条经验 获得超10个赞

试试这个...

df.column_name.str.replace(r'\s+','').astype(float)


查看完整回答
反对 回复 2023-01-04
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

试试这个,一次性转换整个数据框:

df = df.astype('float')


查看完整回答
反对 回复 2023-01-04
  • 3 回答
  • 0 关注
  • 530 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信