考虑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();
}
});
}
});
}
答案 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))