我有一个在熊猫中使用的数据框。我有两列要确定它们是否相等。数据示例如下:
A B Compare
1002 3.1 31 Not Equal
1003 5 5
1004 1 3 Not Equal
我希望像第一个(1002)这样的行显示为相等,因为它们包含相同的数字。 A和B列都是float64数据类型。
我尝试了以下方法:
df['column_a'].replace('.','')
而且我还试图找到一种将数字乘以10的方法,条件是该值不是整数(3.1、2.2、1.4等)。
我相信我也可以通过获取B列中所有大于5的值并将它们除以10来实现相同的预期最终结果。我只关心值0到5。我将要看到的唯一值5以上可以除以10。
这是我尝试完成的操作,但出现错误(TypeError:无效的类型比较):
df['column_b'] = np.where(df['column_b'] > 5, /10,'')
使第1002行的A列和B列中的值相等的最佳方法是什么?
答案 0 :(得分:-1)
这值得一试:
df['Compare'] = df['A'].str.replace(".","").astype(int).eq(df['B'])
您朝着正确的方向前进,只需添加astype
并使用.eq()
..