猿问

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

我想将所有“对象”类型的列转换为数据框中的另一种数据类型(浮点型),而无需对列名称进行硬编码。我能够从其他似乎有效的答案中拼凑出一些代码,但我觉得必须有一种更简单的方法来做到这一点。


# Creating isolating columns of object data type

object_cols = df.loc[:, df.dtypes == 'O']


# Extracting column names with list comprehension

object_type_columns = [col for col in object_cols.columns]


# Converting column types of .astype in a for loop

for col in object_type_columns:

  df[col] = df[col].astype(float)

让我知道是否有任何我遗漏的信息(我是新手)。谢谢!


慕容708150
浏览 532回答 3
3回答

肥皂起泡泡

您可以使用select_dtypes查找列名:s = df.select_dtypes(include='object').columns df[s] = df[s].astype("float")

holdtom

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

慕田峪4524236

试试这个,一次性转换整个数据框:df = df.astype('float')
随时随地看视频慕课网APP

相关分类

Python
我要回答