【发布时间】:2016-05-02 02:48:44
【问题描述】:
我有一个包含多种不同数据类型的熊猫系列。我想过滤掉所有不是数字的元素。生成的 Series 应该只包含浮点数或整数。
有没有一种简单的方法来过滤系列?我发现的大多数解决方案仅适用于 DataFrame。
【问题讨论】:
-
字段是什么意思?
-
我编辑了我的问题。我的意思是元素。
我有一个包含多种不同数据类型的熊猫系列。我想过滤掉所有不是数字的元素。生成的 Series 应该只包含浮点数或整数。
有没有一种简单的方法来过滤系列?我发现的大多数解决方案仅适用于 DataFrame。
【问题讨论】:
更新:
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
删除 NaN:
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
【讨论】:
pd.to_numeric(s, errors='coerce').dropna() 做到了!