pd.to_numeric在python中不起作用
我用的是Jupyter笔记本。默认的python内核"努比"和"熊猫"进口 此列名为“句点”。该值包含数字和类似文本的句点。数据类型为“对象”。我想删除列“Period”的值不是数字的行。 我试图做的是首先将列从object转换为numericpd.to_numeric在python中不起作用,python,pandas,numeric,Python,Pandas,Numeric,我用的是Jupyter笔记本。默认的python内核"努比"和"熊猫"进口 此列名为“句点”。该值包含数字和类似文本的句点。数据类型为“对象”。我想删除列“Period”的值不是数字的行。 我试图做的是首先将列从object转换为numeric pd.to_numeric(df['Period'],errors='coerce') 它返回了一个数字和N的列表。最后一行是: Name: Period, dtype: float64 如果我再次检查: df['Period'].dtype 它返
pd.to_numeric(df['Period'],errors='coerce')
它返回了一个数字和N的列表。最后一行是:
Name: Period, dtype: float64
如果我再次检查:
df['Period'].dtype
它返回:
dtype('O')
显然,转换并没有真正起作用。同样在下面的代码中,它没有删除任何内容
df.dropna(subset=['Period'])
您认为哪里出了问题?熊猫喜欢的操作默认情况下不会在适当的位置运行。我建议您将结果分配给数据帧中的一列
df['Period\u numbers']=pd.to\u numericdf['Period'],errors='concurve'
dropna也是如此
在大多数情况下,可以将inplace=True传递给方法或函数。但是我真的建议改为分配结果。像“数值”这样的熊猫操作在默认情况下不会就地操作。我建议您将结果分配给数据帧中的一列
df['Period\u numbers']=pd.to\u numericdf['Period'],errors='concurve'
dropna也是如此
在大多数情况下,可以将inplace=True传递给方法或函数。但是我真的建议改为分配结果。或者:
df[df['Period'].str.isnumeric()]
或者:
df[df['Period'].str.isnumeric()]
ValueError:无法使用包含NA/NaN值的向量进行索引ValueError:无法使用包含NA/NaN值的向量进行索引