pandas中 用compare显示两个csv文件一样,但用equals显示两个csv文件不一样
时间: 2023-10-02 13:07:36 浏览: 75
pandas读取csv文件提示不存在的解决方法及原因分析
`compare` 方法和 `equals` 方法都是用于比较两个 pandas DataFrame 是否相同的方法,但是它们的实现方式不同。
`compare` 方法会比较两个 DataFrame 的每一列,并返回一个带有三个部分的结果:相同的行、不同的行和只出现在一个 DataFrame 中的行。你可以通过下面的代码来使用 `compare` 方法:
```python
import pandas as pd
df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')
result = df1.compare(df2)
print(result)
```
`equals` 方法则是比较两个 DataFrame 是否完全相同(包括行、列、数据类型等)。如果两个 DataFrame 完全相同,则返回 True,否则返回 False。你可以通过下面的代码来使用 `equals` 方法:
```python
import pandas as pd
df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')
result = df1.equals(df2)
print(result)
```
如果 `compare` 方法显示两个 DataFrame 相同,但 `equals` 方法显示两个 DataFrame 不同,有可能是由于两个 DataFrame 的数据类型不同导致的。你可以先将两个 DataFrame 的数据类型转换成相同的类型,然后再使用 `equals` 方法进行比较。
阅读全文