В настоящее время у меня есть два кадра данных панд:
sales = [{'account': 'Jones LLC', 'Jan': 150, 'Feb': 200, 'Mar': 140},
{'account': 'Alpha Co', 'Jan': 200, 'Feb': 210, 'Mar': 215}]
sales2 = [{'account': 'Jones LLC', 'Jan': 150, 'Feb': 200, 'Mar': 140},
{'account': 'Alpha Co', 'Jan': 200, 'Feb': 210, 'Mar': 215},
{'account': 'Blue Inc', 'Jan': 50, 'Feb': 90, 'Mar': 95 }]
test_1 = pd.DataFrame(sales)
test_2 = pd.DataFrame(sales2)
Чего я хочу добиться, так это показать только различия, которые есть в «test_2», а не в «test_1».
Код, который у меня есть в настоящее время, объединяет два кадра данных и показывает мне общую разницу между обоими кадрами, однако все, что я хочу увидеть, это различия между 'test_2' и 'test_1', а не наоборот:
def compare_dataframes(df1, df2):
print 'Comparing dataframes...'
df = pd.concat([df1, df2])
df = df.reset_index(drop=True)
df_gpby = df.groupby(list(df.columns))
idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]
compared_data = df.reindex(idx)
if len(compared_data) > 1:
print 'No new sales on site!'
else:
print 'New sales on site!'
print(compared_data)
Как я могу адаптировать свою текущую функцию для такой работы?