我有一个数据框。我想测试(C)在每一行中(B)列中的数字是否在字符串(A)列中。
df = pd.DataFrame({'A': ["me 123", "me-123", "1234", "me 12", "123 me", "6 you 123-me"],
'B': [123, 123, 123, 123, 6, 123]})
我几乎可以使用提取功能做到这一点
df['C'] = df.A.str.extract('(\d+)', expand=False).astype(float).eq(df.B,0).astype(int)
A B C
0 me 123 123 1
1 me-123 123 1
2 1234 123 0
3 me 12 123 0
4 123 me 6 0
5 6 you 123-me 123 0
但是在最下面的行中却没有看到数字123,因为它是数字6。我想得到
A B C
0 me 123 123 1
1 me-123 123 1
2 1234 123 0
3 me 12 123 0
4 123 me 6 0
5 6 you 123-me 123 1
答案 0 :(得分:3)
使用Series.str.extractall
从列中获取所有数值,通过Series.unstack
整形,检查值并添加DataFrame.any
以测试每行至少一个AuditReportIndicator
:
PackageTrackingIdentification
答案 1 :(得分:3)
使用findall
[y in x for x , y in zip(df.A.str.findall('(\d+)'),df.B.astype(str))]
Out[733]: [True, True, False, False, False, True]
答案 2 :(得分:2)
list
使用“一个或多个非数字”作为模式
jQuery(document).ready(function(){
function DisableDays(date) {
var day = date.getDay();
if (day == 2 || day == 4 || day == 5 || day == 0) {
return [false] ;
} else {
return [true]
}
}
jQuery(function() {
jQuery( "#datepicker" ).datepicker({
beforeShowDay: DisableDays,
minDate: "+1", maxDate: "+14",
onSelect: function(datetext, date) {
var day = date.getDay();
if (day == 1 || day == 3) {
datetext = datetext + " 11:00-12:00";
jQuery('#datepicker').val(datetext);
} else {
datetext = datetext + " 18:00-19:00";
jQuery('#datepicker').val(datetext);
}
}
});
});
});