我试图用Python比较来自2个数据帧的数据。我有一列,这是一个共同的一个在他们两个,但他们有不同的名称。第一列的名称是“文件”,第二列的名称是“Código da transação”。不管怎样,我创建了这个函数,来比较数据,但是在那些行中出现了错误。。。为什么会这样?你知道吗
def checar_valor(a,b):
for i in range(len(a)):
if b.isin([a['File'][i]]): #ERROR
print("O valor %s está presente nos dois dataframes" % a['File'][i])
else:
print("O valor %s está presente apenas no dataframe %s" % (a['File'][i], "a"))
for q in range(len(b)):
if a.isin([b['Código da transação'][q]]): #ERROR
print("O valor %s está presente nos dois dataframes" % b['Código da transação'][q])
else:
print("O valor %s está presente apenas no dataframe %s" % (b['Código da transação'][q], "b"))
Traceback (most recent call last):
File "C:/Users/nick/PycharmProjects/WebCrawler/Extranet/testezin.py", line 75, in <module>
checar_valor(rs, ga)
File "C:/Users/nick/PycharmProjects/WebCrawler/Extranet/testezin.py", line 64, in checar_valor
if b.isin([a['File'][i]]): #ERRO
File "C:\Users\nick\PycharmProjects\WebCrawler\venv\lib\site-packages\pandas\core\generic.py", line 1576, in __nonzero__
.format(self.__class__.__name__))
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
使用
pd.DataFrame.where
可以得到一个数据帧,其中包含两个数据帧中的值以及位于同一位置的值输出:
相关问题 更多 >
编程相关推荐