我的数据帧中有 37k 行。我需要比较两列中的值以确定价格是相同还是不同。我还需要打印出不同的。
所以基本上我的表由三列组成。名称、价格 1 和价格 2。我需要知道哪些是不相同的。
似乎在文档中找不到任何内容。感谢您的帮助!
您可以创建布尔值的第三列,用于标识Price1
与Price2
不同的情况:
df["is_diff"] = df["Price1"] != df["Price2"]
然后,如果要查看两个价格不同的情况,可以显示仅显示以下情况的数据帧:
df[df["is_diff"] == True]
numpy.isclose
由于价格可能是浮动值,因此它们可能不完全相同,但足够接近,以至于您想将它们视为相同。 您可以使用np.isclose
来确定它们是否在公差范围内。
import numpy as np
mask = np.isclose(df['Price1'], df['Price2'])
df[~mask]
则默认绝对容差为 1e-08
相对容差为 1e-05
。 请参阅文档
但是,如果您希望绝对容差在1e-06
范围内,则可以更改它
mask = np.isclose(df['Price1'], df['Price2'], atol=1e-06)
df[~mask]