У меня есть файл CSV в качестве такогоСравнение столбцов файла CSV с помощью Python
ID OLD_A NEW_A OLD_B NEW_B OLD_C NEW_C
1 0 0 1/1/2017 1/1/2017 ABC BCD
2 0 0 1/1/2017 2/1/2017 ABC ABC
3 1 2 1/1/2017 1/1/2017 ABC BCD
Я хочу, чтобы сравнить старые и новые столбцы A, B и C, а в случае, если есть разница в значении OLD и NEW (есть 10k + строк), я хочу вернуть выход как таковой (сверху, например):
ID Field_Changed OLD_Value NEW_Value
1 C ABC BCD
2 B 1/1/2017 2/1/2017
3 A 1 2
3 C ABC BCD
до сих пор я использовал метод .loc из pandas.DataFrame, которая возвращает индексированный месту нахождения строки, которые квалифицируют булевскую индексацию, но мне нужны значения ...
df.loc[(df['OLD_A'] != df['NEW_A'])].index)
Я новичок в написании сценариев на питоне и не могу представить логику. Может кто-нибудь помочь, пожалуйста?
Спасибо, но я, кажется, получаю эту ошибку ValueError: не может join без заданного уровня и n o совпадающие имена – kage77
Хмм, 'df.columns = df.columns.str.split ('_', expand = True)' this return error? Что такое 'print (df.columns)' после этого кода? – jezrael
Эта строка прекрасна, ее эта строка возвращает ошибку df2 = df1 [df1 ['OLD']! = Df1 ['NEW']] – kage77