我有一个数据集,其中包含不需要的字符串(这表明无法进行测量)。当 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')
添加回答
举报
0/150
提交
取消