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