我有一个带有两列的pandas DataFrame,一列同时包含整数(1-23)和字符串(X或Y),一列仅包含数字。我想比较值是否相等。我尝试了其他方法:
np.where(np.equal(item from column a, item from column b), 1, 0)
但是这不起作用,因为其中有字符串。由于X和Y,我也无法将所有值都转换为整数。有什么建议吗?
答案 0 :(得分:0)
Pandas可以容纳类型比较。您可以将pd.Series.__eq__
与常规比较两个相同类型的序列一起使用。
df = pd.DataFrame({'col1': [1, 2, 'hello', 4.5, 'text', 6, 7, 'errr', 9, 'test'],
'col2': range(1, 11)})
df['compare'] = (df['col1'] == df['col2']).astype(int)
print(df)
col1 col2 compare
0 1 1 1
1 2 2 1
2 hello 3 0
3 4.5 4 0
4 text 5 0
5 6 6 1
6 7 7 1
7 errr 8 0
8 9 9 1
9 test 10 0