【发布时间】:2019-08-21 23:21:30
【问题描述】:
我有一个要清理的数组,其中包含以下条目:
arr = (['1140.0', '-600.0', '-700.6', '5700.45', '(~par)', '(-6.0', '690.6', .....,
'-----', '5750.65', '#', '-850.0'])
我想清理这个包含所有 non-numeric 值的数组,并在数组中保持顺序以获得如下输出:
arr_clean = (['1140.0', '-600.0', '-700.6', '5700.45', '690.6', '5750.65', '-850.0'])
有些值是负数,所以我不能简单地查看元素的第一个字符是否是非数字的,有些值中有数字但也需要取出 - 比如值(-6.0。
我首先转换为数据框,看看是否可以更改 pd.to_numeric(df[col]) 并以这种方式清理它,但从数组到 df 再切换回来感觉效率不高(数组的大小为~800,000,我希望我的最终输出是一个数组)。
有没有简单的方法可以做到这一点?
【问题讨论】:
-
array是指 Python 列表吗?如果是这样,为什么是()?或者这是一个 numpyndarray?如果是这样,形状和dtype是什么?
标签: python arrays python-3.x string pandas