Сравните строки из вывода кадра данных и распечатайте и определите различия - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь сравнить два CSV-файла и вернуть различия.Однако мне нужно как-то вызвать различия, либо с помощью цветовой кодировки, выражения False под двумя строками, с которыми он сравнивается, либо дополнительного столбца, который вызывает столбцы с различиями.

В настоящее время я использую функцию удаления дубликатов Pandas, чтобы вернуть неповторяющиеся строки, которые являются отличиями.Затем я сортирую фрейм данных по значениям, чтобы сгруппировать похожие строки.Этот метод сокращает 600 строк до 4 и группирует похожие строки вместе.Мне удалось сравнить первые 2 строки, используя line1 == line2, и он возвращает логическое значение.Я думал об использовании этого логического значения для выделения различных значений, но не знал, как это сделать.

Вот мой код:

import pandas as pd
import numpy as np
import os, sys, csv

Columns= ['CustomerName','CustomerAddress','CustomerID','CostomerPhone','CustomerZip','CustomerOpenDate','CustomerClosedDate']

InDataCustomerYesterday = pd.read_csv('/Users/JoeDirt/Documents/Customer_NAN_YYYYMMDD.csv', sep=',', index_col=None, dtype='str', names=Columns, header=3, encoding='ANSI') #dtype='str', encoding='ANSI')

InDataCustomerToday = pd.read_csv('/Users/JoeDirt/Documents/Customer_NAN_YYYYMMDD.csv', sep=',', index_col=None, dtype='str', names=Columns, header=3, encoding='ANSI')

#Combine Files
CombinedData= InDataCustomerYesterday .append(InDataCustomerToday)

# Compare Account Data and Only show the differences;
CombinedData.drop_duplicates(keep=False, inplace=True)

#Sort Data in Dataframe by CustomerID
CombinedData.sort_values('CustomerID', inplace=True)

Я пытался

def Diff(li1, li2): 
    li_dif = [i for i in li1 + li2 if i not in li1 or i not in li2] 
    return li_dif 

li1 = 0
li2 = 1

line1 = CombinedData.iloc[li1,:]
line2 = CombinedData.iloc[li2,:]

Но я не уверен, как сравнить вчерашнюю строку с сегодняшней строкой и вызовомРазница

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...