从系列中删除非数字值

时间:2016-05-01 18:40:31

标签: python numpy pandas

我有一个包含多种不同数据类型的pandas系列。我想过滤掉所有非数字的元素。生成的系列应仅包含浮点数或整数。

有没有简单的方法来过滤系列?我发现的大多数解决方案只适用于DataFrames。

1 个答案:

答案 0 :(得分:2)

<强>更新

In [43]: s
Out[43]:
0       0
1       1
2    str1
3     NaN
4       3
5       5
6    str2
7       4
8     NaN
dtype: object

转换为数字:

In [44]: pd.to_numeric(s, errors='coerce')
Out[44]:
0    0.0
1    1.0
2    NaN
3    NaN
4    3.0
5    5.0
6    NaN
7    4.0
8    NaN
dtype: float64

放弃NaNs:

In [45]: pd.to_numeric(s, errors='coerce').dropna()
Out[45]:
0    0.0
1    1.0
4    3.0
5    5.0
7    4.0
dtype: float64