python - 将非数字列转换为数字列
问题描述
我的进口是:
import pandas as pd
import numpy as np
from pandas.api.types import is_numeric_dtype
我创建了一个 pandas 数据框(名为 df),如下所示:
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
所有列都有 dtypes 对象,但是,唯一应该具有该 dtype 的列是状态列。我正在尝试将所有实际数字列(初始和最终温度)转换为数字 dtypes 并忽略/省略状态列。这主要是出于教学目的。
我目前的尝试是:
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
解决方案
你可以做
df.transform(pd.to_numeric, errors = 'ignore')
推荐阅读
- c# - C# 中奇怪的图片框/标签问题 (Visual Studio 2019)
- asp.net - Visual Studio 打开空白浏览器页面
- javascript - JavaScript 修改对象数组并更改包含的数据
- javascript - 如何从 AWS cognito 获取 awstoken
- r - 将 CSV 拆分为多个片段,并将每个片段作为参数传递给命令
- ios - 如何在 swift 中第一次查看 viewController
- symfony - 使用角色进行匿名身份验证
- python - IPython 改变系统路径?
- scala - Scala scalapb GeneratedMessageCompanion- 不符合 trait GeneratedMessageCompanion's
- math - 将 3d 三角形转换为新顶点