pandas str extract作为整数

时间:2016-10-27 08:24:32

标签: python string pandas series

考虑s s = pd.Series(['A1', 'B2', '3C'])

extract

我想提取每个元素的数字部分 我知道我可以通过以下方式使用s.str.extract('(\d)', expand=False) 0 1 1 2 2 3 dtype: object

dtype: object

注意type
如果我得到每个元素的s.str.extract('(\d)', expand=False).apply(type) 0 <class 'str'> 1 <class 'str'> 2 <class 'str'> dtype: object

0    1
1    2
2    3
dtype: int64

问题
如何直接提取整数?

removeCardFromUser(2);

function removeCardFromUser(id) {
    $('.user-card-holder').filter(function(){
        var user = $(this).data('user');
        if (user === id) {
            $(this).find('div').filter(function(){
                var house = $(this).data('house');
                var value = $(this).data('value');
                if (house === 'hearts' && value === 'q') {
                    $(this).parent().remove();
                }
            });
        }
    });
}

1 个答案:

答案 0 :(得分:2)

我认为这是不可能的。

请参阅文档str.extract

  

返回:

     

DataFrame,每个主题字符串有一行,一列有   每组。正则表达式pat中的任何捕获组名称都将   用于列名;否则将捕获组号   用过的。每个结果列的 dtype始终为对象,即使是   找不到匹配项。如果expand = True且pat只有一个捕获组,则返回一个Series(如果subject是Series)或Index(如果是subject)   是指数)。

因此需要astype(int)或输出中NaN - to_numeric pd.to_numeric(s.str.extract('(\d)', expand=False))