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

错误强制不将 pandas 中不需要的字符串更改为 NaN

错误强制不将 pandas 中不需要的字符串更改为 NaN

一只萌萌小番薯 2023-08-08 15:51:34
我有一个数据集,其中包含不需要的字符串(这表明无法进行测量)。当 pandas 读取数据的文本文件时,我想将这些不需要的字符串更改为“NaN”,因为字符串的存在会将原本 int 列的数据类型转换为字符串。如果有更好的流程,请告诉我。代码import pandas as pd data = {    'ID': [1,2,3,4],    'V': [6.6,2.01,'tND - 7777',7.01],    'A': [33,31,'tND - 88881',35]        } df = pd.DataFrame(data, columns = ['ID','V','A'])print(df)df.astype({"V": int})print(df)# returns ValueError: invalid literal for int() with base 10: 'tND - 7777'pd.to_numeric(df['V'], errors = 'coerce')pd.to_numeric(df['A'], errors = 'coerce')print(df)# returns original array, unwanted strings still in place不需要的字符串'tND - 7777','tND - 88881'期望的结果 数据帧列中的数据是整数(我假设 NaN 被视为整数,我只需要在字符串不再存在时绘制数据)。
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

分配回输出:

df['V'] = pd.to_numeric(df['V'], errors = 'coerce')
df['A'] = pd.to_numeric(df['A'], errors = 'coerce')

另一个想法是使用:

df[['V','A']] = df[['V','A']].apply(pd.to_numeric, errors = 'coerce')


查看完整回答
反对 回复 2023-08-08
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

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