如何比较具有字符串和整数的列? Python熊猫

时间:2018-07-31 11:25:44

标签: python string pandas integer

我有一个带有两列的pandas DataFrame,一列同时包含整数(1-23)和字符串(X或Y),一列仅包含数字。我想比较值是否相等。我尝试了其他方法:

np.where(np.equal(item from column a, item from column b), 1, 0)

但是这不起作用,因为其中有字符串。由于X和Y,我也无法将所有值都转换为整数。有什么建议吗?

1 个答案:

答案 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