列包含第3列 [英] Column contains column 3
本文介绍了列包含第3列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个数据框.我想测试(C)在每一行中(B)列中的数字是否在字符串(A)列中.
I have a dataframe. I would like to test whether, (C), on each row, the number in column (B) is in the string, column (A).
df = pd.DataFrame({'A': ["me 123", "me-123", "1234", "me 12", "123 me"],
'B': [123, 123, 123, 123, 6]})
我可以使用提取物来做到这一点
I can do that using extract
df['C'] = df.A.str.extract('(\d+)', expand=False).astype(int).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
但是,如果A值之一不包含数字:
However, if one of the A values does not contain a number:
df = pd.DataFrame({'A': ["me 123", "me-123", "1234", "me 12", "123 me", "me"],
'B': [123, 123, 123, 123, 6, 123]})
然后我得到:
ValueError: cannot convert float NaN to integer
推荐答案
值NaN
是浮点型的,因此您可以将输出转换为float
s:
Values NaN
s are floats, so you can convert output to float
s:
df['C'] = df.A.str.extract('(\d+)', expand=False).astype(float).eq(df.B,0).astype(int)
这篇关于列包含第3列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文