将非数字列转换为数字列。
将非数字列转换为数字列。
这个问题已经在这里找到了答案:
我的导入是:
import pandas as pd import numpy as np from pandas.api.types import is_numeric_dtype
我创建了一个名为df的pandas数据框,它看起来像这样:
state initial_temp final_temp 0 Cold 48.0 88.1 1 hot 80.7 30.0 2 hot 140.2 25.0 3 hot 59.8 25.0 4 hot 80.0 25.0
所有列的dtype都是对象,但是唯一应该具有该dtype的列是state列。我尝试将所有实际数值列(初始温度和最终温度)转换为数值类型,并忽略/留出state列。这主要是出于教育目的。
我目前尝试的是:
def datatype_converter(df): col_list = [] for column in df.columns: col_list.append(column) for i in range(len(col_list)): if is_numeric_dtype(df[col_list.pop()]): df.apply(pd.to_numeric, errors = 'coerce') # coerce invalid values to nan. else: pass return df
admin 更改状态以发布 2023年5月23日