Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 比较两个数据帧并保留缺失或不相等的行_Python_Pandas - Fatal编程技术网

Python 比较两个数据帧并保留缺失或不相等的行

Python 比较两个数据帧并保留缺失或不相等的行,python,pandas,Python,Pandas,我正在比较两个数据帧,并用下面的代码报告两个数据帧中缺少或不相等的行 df1['Dataframe'] = 'df1' df2['Dataframe'] = 'df2' df=pd.concat([df1, df2]) diff_df = df.drop_duplicates(subset=['Name', 'Age', 'Gender','Salary'], keep=False) 示例数据帧 Name | Age| Gender | Salary 0| Naxi | 27 | Ma

我正在比较两个数据帧,并用下面的代码报告两个数据帧中缺少或不相等的行

df1['Dataframe'] = 'df1'
df2['Dataframe'] = 'df2'
df=pd.concat([df1, df2])
diff_df =  df.drop_duplicates(subset=['Name', 'Age', 'Gender','Salary'], keep=False)
示例数据帧

   Name | Age| Gender | Salary
0| Naxi | 27 | Male   | 2000.111112
1| Karan| 25 | Male   | 3000.222221
2| Tanya| 27 | Female | 4000.677777


   Name | Age| Gender| Salary
0| Naxi | 27 | Male  | 2000.111113
1| Tanya| 27 | Female| 3000.2222214
2| Karan| 25 | Male  | 4000.67775
由于“薪资”列不匹配,因此将报告为不同。如何确保在匹配该列时,它只考虑小数点后的前两个数字,并且这两个数据帧相等?

只需使用
round()
方法:

df['Salary']=round(df['Salary'],3)
最后:

diff_df =  df.drop_duplicates(subset=['Name', 'Age', 'Gender','Salary'], keep=False)
现在,如果您打印
diff_df
您将获得所需的输出

只需使用
round()
方法:

df['Salary']=round(df['Salary'],3)
最后:

diff_df =  df.drop_duplicates(subset=['Name', 'Age', 'Gender','Salary'], keep=False)
现在,如果您打印
diff_df
,您将获得所需的输出