сравнивать размер данных - PullRequest
0 голосов
/ 23 марта 2020

У меня есть два кадра данных одинакового размера (одинаковые строки), и я хотел бы сделать сравнение по ячейкам. Каков наилучший способ достичь этого? если длина df_diff> 0, у нас есть различия. В настоящее время я делаю это, как показано ниже:

df_diff = pd.concat ([dfstage, dfprod]). Drop_duplicates (keep = False)

Ответы [ 4 ]

1 голос
/ 23 марта 2020

use pandas dataframe.equals

возвращает значение true, если они равны.

df_diff=dfstage.equal(dfprod)
0 голосов
/ 06 апреля 2020

Так улучшилось мое сравнение enter code here, чтобы оно выглядело так:

for rows_stage, rows_prod in zip(df_stage.iterrows(), df_prod.iterrows()):
                boolmatch = rows_stage == rows_prod
                print(boolmatch.all())

Но я получаю ошибку ValueError: Истинное значение Series является неоднозначным. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().

что я здесь не так делаю?

0 голосов
/ 01 апреля 2020

Есть еще предложения? Используя этот код: df_diff = pd.concat ([df_stage, df_prod]). Drop_duplicates (keep = False)

Я вижу разницу между двумя кадрами, но теперь я хочу сузить это и показывать только те столбцы, которые имеют разные значения.

0 голосов
/ 23 марта 2020

Кроме того, поскольку в моем фрейме данных содержится 50 столбцов, я хочу провести l oop через каждый столбец и найти ячейку, которая не соответствует.

, поэтому df_diff:

col1 col2 col3 col4 col5 col6 col7 ab c 12 True 10 15 20 21 ab c 12 false 10 15 20 22 * ​​1005 *

Я хочу вывести col3 и col7 на основе ключа col1.

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